Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Programowanie \ JAVA

Core Java Servlets i JavaServer Pages. Tom II. Wydanie II Język: 1

978-83-246-1726-5

Cena Brutto: 89.00

Cena netto: 84.76

Ilość:
Wersja: Drukowana
Autor Marty Hall, Larry Brown, Yaakov Chaikin
Liczba_stron 632
Wydawnictwo Helion
Oprawa twarda
Data_Wydania 2009-03-10
Poziom All Levels

Kompletny przewodnik po zaawansowanych mechanizmach oraz funkcjach serwletów i JSP.

  • Jak kontrolować działanie aplikacji za pośrednictwem pliku deskryptora?
  • Jakie są możliwości rozbudowy systemu zabezpieczeń?
  • Jak można wykorzystać obsługę zdarzeń?

Platforma Java 2 jest najczęściej wykorzystywaną technologią do budowy komercyjnych aplikacji internetowych, dynamicznych witryn WWW oraz aplikacji i usług sieciowych. Jej podstawą są serwlety i strony JSP, które są obsługiwane -- przy użyciu komponentów wbudowanych lub dodatkowych -- na praktycznie wszystkich serwerach WWW, a jednocześnie stanowią połączenie między klientami internetowymi i aplikacjami działającymi na serwerze.

Tom II prezentuje zaawansowane narzędzia i techniki służące do tworzenia rozbudowanych i wysoko wydajnych aplikacji. Opisano w nim mechanizmy kontroli działania aplikacji za pomocą pliku web.xml, możliwości rozszerzenia systemu zabezpieczeń metodami deklaratywnymi i programistycznymi, a także sposoby używania filtrów serwletów i JSP. Przedstawiono tu także opis funkcji rzadziej używanych, lecz niezwykle przydatnych podczas tworzenia złożonych programów. Książka "Core Servlets i Java Server Pages. Tom II. Technologie zaawansowane. Wydanie drugie" to wyczerpujący podręcznik dla programistów znających już podstawy technologiczne serwletów i stron JSP, którzy chcą poznać i wykorzystać ich zaawansowane możliwości.

Tom I zawiera szczegółowy opis serwletów i stron JSP, w tym nagłówki HTTP, pliki cookie, mechanizm śledzenia sesji, elementy skryptowe JSP, dołączanie plików, architekturę Model-Widok-Kontroler (MVC) i język wyrażeń JSP. Znajdziesz tam także opis formularzy HTML, JDBC oraz najlepsze praktyki projektowania i implementowania aplikacji.

Wykorzystaj wszystkie możliwości serwletów i stron JSP, aby tworzyć profesjonalne aplikacje!

  • Deskryptor wdrożenia
  • Zabezpieczenia programistyczne i deklaratywne
  • Filtry serwletów i stron JSP
  • Model i obsługa zdarzeń
  • Własne biblioteki znaczników
  • Platforma Apache Struts

Core Java Servlets i JavaServer Pages. Tom II. Wydanie II -- spis treści

Wprowadzenie (11)

Podziękowania (15)

O autorach (16)

Rozdział 1. Używanie i wdrażanie aplikacji internetowych (17)

  • 1.1. Cele aplikacji internetowych (18)
    • Organizacja (18)
    • Przenośność (18)
    • Separacja (18)
  • 1.2. Struktura aplikacji internetowych (19)
    • Lokalizacje poszczególnych rodzajów plików (19)
  • 1.3. Rejestrowanie aplikacji internetowych na serwerze (23)
    • Rejestrowanie aplikacji internetowych na serwerze Tomcat (24)
    • Rejestrowanie aplikacji internetowych na innych serwerach (26)
  • 1.4. Strategie rozwoju i wdrażania aplikacji internetowych (28)
    • Kopiowanie struktury do skrótu lub dowiązania symbolicznego (29)
    • Wykorzystanie funkcji wdrażania udostępnianych przez IDE (30)
    • Używanie narzędzi ant, maven i im podobnych (30)
    • Używanie IDE wraz z narzędziem Ant (31)
  • 1.5. Umieszczanie aplikacji internetowych w plikach WAR (31)
  • 1.6. Tworzenie prostej aplikacji internetowej (32)
    • Pobranie aplikacji app-blank i zmiana jej nazwy na testApp (33)
    • Pobranie plików test.html, test.jsp oraz TestServlet.java (33)
    • Dodanie plików test.html i test.jsp do aplikacji internetowej testApp (33)
    • Umieszczenie pliku TestServlet.java w katalogu testApp/WEB-INF/classes/coreservlets (34)
    • Kompilacja pliku TestServlet.java (34)
    • Zadeklarowanie w pliku web.xml klasy TestServlet.class oraz adresu URL, który ją wywołuje (35)
    • Skopiowanie aplikacji testApp do katalogu katalog_tomcat/webapps (36)
    • Uruchomienie serwera Tomcat (36)
    • Wywołanie aplikacji testApp przy użyciu adresu URL w postaci http://localhost/testApp/zasób (37)
  • 1.7. Współużytkowanie danych przez aplikacje internetowe (39)

Rozdział 2. Kontrolowanie działania aplikacji przy użyciu deskryptora web.xml (47)

  • 2.1. Przeznaczenie deskryptora wdrożenia (48)
  • 2.2. Definiowanie elementu głównego i elementu nagłówka (48)
  • 2.3. Elementy deskryptora web.xml (50)
    • Wersja 2.4 specyfikacji serwletów (50)
    • Wersja 2.3 specyfikacji serwletów (53)
  • 2.4. Przypisywanie nazw i własnych adresów URL (55)
    • Przypisywanie nazw (56)
    • Definiowanie własnych adresów URL (57)
    • Nazewnictwo stron JSP (62)
  • 2.5. Wyłączanie serwletu wywołującego (64)
    • Zmiana odwzorowania wzorca adresu URL /servlet/ (65)
    • Globalne wyłączanie serwletu wywołującego na serwerze Tomcat (66)
  • 2.6. Inicjalizowanie i wstępne ładowanie serwletów i stron JSP (68)
    • Przypisywanie serwletom parametrów inicjalizacyjnych (68)
    • Przypisywanie parametrów inicjalizacyjnych JSP (71)
    • Parametry inicjalizacyjne na poziomie całej aplikacji (74)
    • Ładowanie serwletów w momencie uruchamiania serwera (74)
  • 2.7. Deklarowanie filtrów (78)
  • 2.8. Definiowanie stron powitalnych (81)
  • 2.9. Wyznaczanie stron obsługujących błędy (81)
    • Element error-code (82)
    • Element exception-type (84)
  • 2.10. Definiowanie zabezpieczeń (86)
    • Definiowanie metody uwierzytelniania (86)
    • Ograniczanie dostępu do zasobów sieciowych (88)
    • Przypisywanie ról (91)
  • 2.11. Kontrolowanie czasu wygasania sesji (92)
  • 2.12. Dokumentowanie aplikacji internetowych (92)
  • 2.13. Przypisywanie plikom typów MIME (93)
  • 2.14. Konfigurowanie stron JSP (94)
    • Lokalizacja deskryptorów bibliotek znaczników (94)
    • Konfigurowanie właściwości stron JSP (95)
  • 2.15. Kodowanie znaków (100)
  • 2.16. Tworzenie procesów nasłuchujących zdarzeń aplikacji (100)
  • 2.17. Tworzenie rozwiązań przeznaczonych dla środowisk klastrowych (101)
  • 2.18. Elementy J2EE (104)

Rozdział 3. Zabezpieczenia deklaratywne (109)

  • 3.1. Uwierzytelnianie przy użyciu formularza (111)
    • Definiowanie nazw użytkowników, haseł i ról (113)
    • Włączanie na serwerze uwierzytelniania przy użyciu formularzy i wskazywanie lokalizacji strony logowania oraz strony obsługi błędu logowania (114)
    • Tworzenie strony logowania (115)
    • Tworzenie strony z informacją o błędzie logowania (118)
    • Wskazywanie adresów URL, które mają być zabezpieczone hasłem (118)
    • Zdefiniowanie listy wszystkich abstrakcyjnych ról (122)
    • Wskazywanie adresów URL dostępnych wyłącznie za pośrednictwem protokołu SSL (122)
    • Wyłączanie serwletu wywołującego (124)
  • 3.2. Przykład. Uwierzytelnianie przy użyciu formularzy (125)
    • Strona główna (125)
    • Deskryptor wdrożenia (126)
    • Plik z hasłami (129)
    • Strony logowania i obsługi błędu logowania (130)
    • Katalog investing (131)
    • Katalog ssl (134)
    • Katalog admin (137)
    • Serwlet NoInvokerServlet (140)
    • Strony niezabezpieczone (141)
  • 3.3. Uwierzytelnianie metodą BASIC (144)
    • Definiowanie nazw użytkowników, haseł i ról (146)
    • Włączanie na serwerze uwierzytelniania metodą BASIC i definiowanie nazwy obszaru (146)
    • Wskazywanie adresów URL, które mają być zabezpieczone hasłem (146)
    • Zdefiniowanie listy wszystkich abstrakcyjnych ról (147)
    • Wskazywanie adresów URL dostępnych wyłącznie za pośrednictwem protokołu SSL (147)
  • 3.4. Przykład. Uwierzytelnianie metodą BASIC (147)
    • Strona główna (148)
    • Deskryptor wdrożenia (149)
    • Plik haseł (151)
    • Plan finansowy (151)
    • Biznesplan (152)
    • Serwlet NoInvokerServlet (154)
  • 3.5. Konfigurowanie obsługi protokołu SSL na serwerze Tomcat (155)
  • 3.6. WebClient. Interaktywna komunikacja z serwerami WWW (161)
  • 3.7. Podpisywanie certyfikatu serwera (164)
    • Eksport certyfikatu CA (166)
    • Komunikacja klienta WebClient z serwerem Tomcat przy użyciu protokołu SSL (170)

Rozdział 4. Zabezpieczenia programistyczne (173)

  • 4.1. Łączenie zabezpieczeń programistycznych i zabezpieczeń zarządzanych przez kontener (175)
    • Odwołania do ról (176)
  • 4.2. Przykład. Łączenie zabezpieczeń programistycznych i zabezpieczeń zarządzanych przez kontener (177)
  • 4.3. Zastosowanie wyłącznie zabezpieczeń programistycznych (180)
  • 4.4. Przykład. Zastosowanie wyłącznie zabezpieczeń programistycznych (184)
  • 4.5. Zabezpieczenia programistyczne i protokół SSL (187)
    • Ustalenie, czy używany jest protokół SSL (188)
    • Przekierowywanie wywołań, które nie dotyczą protokołu SSL (188)
    • Odczytanie liczby bitów w kluczu (189)
    • Sprawdzenie algorytmu szyfrowania (189)
    • Dostęp do certyfikatu X.509 klienta (189)
  • 4.6. Przykład. Zabezpieczenia programistyczne i protokół SSL (190)

Rozdział 5. Filtry serwletów i stron JSP (195)

  • 5.1. Tworzenie prostych filtrów (196)
    • Tworzenie klasy implementującej interfejs Filter (197)
    • Implementacja filtra w metodzie doFilter (198)
    • Wywołanie metody doFilter obiektu FilterChain (198)
    • Rejestrowanie filtra dla serwletów lub stron JSP (198)
    • Wyłączenie serwletu wywołującego (200)
  • 5.2. Przykład. Filtr raportujący (201)
  • 5.3. Dostęp do kontekstu serwletu z poziomu filtra (207)
  • 5.4. Przykład. Filtr zapisujący do dziennika (208)
  • 5.5. Używanie parametrów inicjalizujących dla filtrów (210)
  • 5.6. Przykład. Filtr czasu udostępnienia (212)
  • 5.7. Blokowanie odpowiedzi (215)
  • 5.8. Przykład. Filtr blokujący stronę (215)
  • 5.9. Modyfikowanie odpowiedzi (221)
    • Obiekt przechowujący odpowiedź, gotowy do wielokrotnego wykorzystania (222)
  • 5.10. Przykład. Filtr zastępujący (224)
    • Ogólny filtr modyfikujący (224)
    • Konkretny filtr modyfikujący (225)
  • 5.11. Przykład. Filtr kompresujący (230)
  • 5.12. Konfigurowanie współpracy filtra z obiektem RequestDispatcher (235)
  • 5.13. Przykład. Łatanie potencjalnej dziury w zabezpieczeniach (237)
  • 5.14. Pełna definicja deskryptora wdrożenia (243)

Rozdział 6. Model zdarzeń aplikacji (249)

  • 6.1. Monitorowanie zdarzeń polegających na utworzeniu i zniszczeniu kontekstu serwletu (252)
  • 6.2. Przykład. Inicjalizowanie współużytkowanych danych (253)
  • 6.3. Wykrywanie zmian wartości atrybutów kontekstu serwletu (258)
  • 6.4. Monitorowanie zmian we współużytkowanych danych (259)
  • 6.5. Umieszczanie obiektów nasłuchujących w bibliotekach znaczników (267)
  • 6.6. Przykład. Pakiet zawierający obiekty śledzące nazwę firmy (269)
  • 6.7. Wykrywanie zdarzeń tworzenia i niszczenia sesji (275)
  • 6.8. Przykład. Obiekt nasłuchujący, który zlicza sesje (276)
    • Wyłączanie obsługi plików cookie (282)
  • 6.9. Wykrywanie zmian w atrybutach sesji (283)
  • 6.10. Przykład. Monitorowanie zamówień na jachty (283)
  • 6.11. Wykrywanie inicjalizacji i zniszczenia żądania serwletu (290)
  • 6.12. Przykład. Obliczanie obciążenia serwera żądaniami (291)
  • 6.13. Wykrywanie zmian atrybutów w żądaniach serwletów (296)
  • 6.14. Przykład. Zatrzymywanie obiektu zbierania statystyk żądań (297)
  • 6.15. Wykorzystanie wielu obiektów nasłuchujących współpracujących ze sobą (299)
    • Śledzenie zamówień na towary z oferty dnia (300)
    • Resetowanie licznika zamówień na oferty dnia (306)
  • 6.16. Pełna definicja deskryptora wdrożenia (311)

Rozdział 7. Podstawowe informacje na temat bibliotek znaczników (317)

  • 7.1. Komponenty biblioteki znaczników (318)
    • Klasa obsługi znacznika (319)
    • Plik deskryptora biblioteki znaczników (320)
    • Plik JSP (321)
  • 7.2. Przykład. Prosty znacznik liczby pierwszej (322)
  • 7.3. Przypisywanie znacznikom atrybutów (326)
    • Atrybuty znacznika a klasa obsługi znacznika (326)
    • Atrybuty znacznika a deskryptor biblioteki znaczników (327)
    • Atrybuty znacznika a plik JSP (328)
  • 7.4. Przykład. Znacznik liczby pierwszej o zmiennej długości (328)
  • 7.5. Zamieszczanie treści znacznika w danych zwracanych przez znacznik (330)
    • Treść znacznika a klasa obsługi znacznika (330)
    • Treść znacznika a deskryptor biblioteki znaczników (331)
    • Treść znacznika a plik JSP (331)
  • 7.6. Przykład. Znacznik nagłówka (332)
  • 7.7. Przykład. Znacznik debugowania (335)
  • 7.8. Tworzenie plików znaczników (337)
  • 7.9. Przykład. Prosty znacznik liczby pierwszej z użyciem pliku znacznika (339)
  • 7.10. Przykład. Znacznik liczby pierwszej o zmiennej długości z użyciem pliku znacznika (340)
  • 7.11. Przykład. Znacznik nagłówka z użyciem pliku znacznika (341)

Rozdział 8. Biblioteki znaczników. Funkcje zaawansowane (345)

  • 8.1. Operacje na treści znacznika (346)
  • 8.2. Przykład. Znacznik filtrujący kod HTML (347)
  • 8.3. Przypisywanie atrybutom znaczników wartości dynamicznych (350)
    • Dynamiczne wartości atrybutów a klasa obsługi znacznika (351)
    • Dynamiczne wartości atrybutów a deskryptor biblioteki znaczników (351)
    • Dynamiczne wartości atrybutów a plik JSP (351)
  • 8.4. Przykład. Prosty znacznik wykonujący pętlę (352)
  • 8.5. Przypisywanie atrybutom znaczników wartości w postaci złożonych obiektów (356)
    • Dynamiczne, złożone wartości atrybutów a klasa obsługi znacznika (356)
    • Dynamiczne, złożone wartości atrybutów a deskryptor biblioteki znaczników (356)
    • Dynamiczne, złożone wartości atrybutów a plik JSP (357)
  • 8.6. Przykład. Znacznik formatujący tabele (357)
  • 8.7. Tworzenie znaczników wykonujących pętle (362)
  • 8.8. Przykład. Znacznik forEach (363)
  • 8.9. Tworzenie funkcji języka wyrażeń (367)
  • 8.10. Przykład. Ulepszony znacznik debugowania (369)
  • 8.11. Obsługa zagnieżdżonych znaczników niestandardowych (372)
  • 8.12. Przykład. Znacznik If-Then-Else (373)

Rozdział 9. Biblioteka standardowych znaczników JSP (JSTL) (379)

  • 9.1. Instalacja biblioteki JSTL (380)
  • 9.2. Znacznik c:out (381)
  • 9.3. Znaczniki c:forEach i c:forTokens (382)
  • 9.4. Znacznik c:if (383)
  • 9.5. Znacznik c:choose (384)
  • 9.6. Znaczniki c:set i c:remove (386)
  • 9.7. Znacznik c:import (388)
  • 9.8. Znaczniki c:url i c:param (391)
  • 9.9. Znacznik c:redirect (392)
  • 9.10. Znacznik c:catch (394)

Rozdział 10. Podstawy platformy Struts (397)

  • 10.1. Podstawy Struts (398)
    • Różne strony Struts (398)
    • Zalety platformy Apache Struts w porównaniu z MVC z obiektem RequestDispatcher i JSP EL (398)
    • Wady platformy Apache Struts w porównaniu z MVC z obiektem RequestDispatcher i EL (400)
  • 10.2. Instalacja i konfiguracja platformy Struts (402)
    • Instalacja Struts (402)
    • Testowanie platformy Struts (404)
    • Tworzenie własnych aplikacji Struts (405)
    • Dodawanie Struts do już istniejącej aplikacji internetowej (405)
  • 10.3. Proces przetwarzania Struts i sześć kroków do jego implementacji (406)
    • Proces przetwarzania na platformie Struts (406)
    • Sześć podstawowych kroków w pracy ze Struts (410)
  • 10.4. Przetwarzanie żądań przez obiekty Action (414)
    • Działanie obiektów Action (415)
    • Przykład. Odwzorowanie jednego wyniku (418)
    • Przykład. Odwzorowanie kilku wyników (424)
    • Łączenie współużytkowanych odwzorowań warunków (432)
  • 10.5. Obsługa parametrów żądań w komponentach bean formularzy (434)
    • Proces przetwarzania na platformie Struts z uwzględnieniem komponentów bean (434)
    • Sześć podstawowych kroków w pracy ze Struts (436)
    • Działanie komponentów bean formularzy (438)
    • Wyświetlanie właściwości komponentu bean (440)
    • Przykład. Komponenty bean formularza i danych wynikowych (442)
  • 10.6. Wstępne wypełnianie formularzy danymi i ich ponowne wyświetlanie (453)
    • Proces przetwarzania na platformie Struts (454)
    • Sześć podstawowych kroków w pracy ze Struts (455)
    • Wykorzystanie znaczników html: platformy Struts (458)
    • Wypełnianie formularzy danymi początkowymi (459)
    • Przykład. Wypełnianie formularzy danymi początkowymi (460)
    • Strategie tworzenia adresów URL dla obiektów Action (469)
    • Ponowne wyświetlanie formularzy (472)
    • Przykład. Ponowne wyświetlanie formularza (475)

Rozdział 11. Platforma Struts. Funkcje dodatkowe (485)

  • 11.1. Wykorzystanie plików właściwości (486)
    • Zalety plików właściwości (486)
    • Działanie platformy Struts z uwzględnieniem plików właściwości (486)
    • Sposób używania plików właściwości (487)
    • Przykład. Proste komunikaty (491)
    • Klucze dynamiczne (496)
    • Komunikaty parametryzowane (497)
  • 11.2. Umiędzynaradawianie aplikacji (498)
    • Ładowanie językowych wersji pliku właściwości (498)
    • Definiowanie ustawień językowych w przeglądarkach (498)
    • Przykład. Polska, hiszpańska i francuska wersja językowa (499)
    • Wyniki (500)
  • 11.3. Definiowanie układu stron przy użyciu modułu Tiles (501)
    • Powody, dla których warto używać Tiles (501)
    • Wymagania wstępne modułu Tiles (502)
    • Cztery kroki w pracy z Tiles (503)
    • Prosta aplikacja wykorzystująca Tiles (506)
    • Obsługa względnych adresów URL (510)
    • Przykład. Aplikacja e-boats (511)
  • 11.4. Wykorzystanie Tiles Definitions (519)
    • Powody, dla których warto używać Tiles Definitions (521)
    • Pięć kroków w pracy z Tiles Definitions (522)
    • Przykład. Aplikacja e-boats wykorzystująca moduł Tiles Definitions (525)

Rozdział 12. Platforma Struts. Weryfikacja poprawności danych wpisanych przez użytkownika (529)

  • 12.1. Weryfikacja poprawności danych w klasie Action (530)
    • Proces przetwarzania Struts (531)
    • Przeprowadzenie weryfikacji danych w klasie Action (531)
    • Przykład. Wybór kolorów i rozmiarów czcionek wykorzystywanych w życiorysie (534)
  • 12.2. Weryfikacja poprawności danych w komponencie bean formularza (541)
    • Proces przetwarzania Struts (542)
    • Przeprowadzenie weryfikacji danych w komponencie ActionForm (542)
    • Przykład. Wybór kolorów i rozmiarów czcionek wykorzystywanych w życiorysie (wersja druga) (546)
    • Parametryzowane komunikaty o błędach (553)
    • Przykład. Weryfikacja poprawności danych z wykorzystaniem parametryzowanych komunikatów (553)
  • 12.3. Wykorzystanie platformy automatycznej weryfikacji poprawności danych (556)
    • Weryfikacja ręczna a weryfikacja automatyczna (556)
    • Weryfikacja na kliencie a weryfikacja na serwerze (557)
    • Proces przetwarzania Struts (558)
    • Konfiguracja mechanizmu automatycznej weryfikacji danych (559)
    • Przykład. Automatyczna weryfikacja poprawności danych (565)

Dodatek A: Tworzenie aplikacji przy użyciu Apache Ant (575)

  • A.1. Najważniejsze zalety Ant (576)
  • A.2. Instalacja i konfiguracja Ant (576)
  • A.3. Tworzenie projektu Ant (577)
    • Definiowanie projektu Ant (578)
    • Definiowanie celów (580)
    • Przypisywanie zadań do celów (581)
    • Uruchamianie celu Ant (581)
  • A.4. Przegląd najczęściej używanych zadań Ant (582)
    • Zadanie echo (582)
    • Zadanie tstamp (583)
    • Zadanie mkdir (584)
    • Zadanie delete (584)
    • Zadanie copy (586)
    • Zadanie javac (588)
  • A.5. Przykład. Prosty projekt Ant (591)
  • A.6. Tworzenie aplikacji internetowej przy użyciu Ant (596)
    • Zależności między celami Ant (597)
  • A.7. Przykład. Wykonanie aplikacji internetowej (598)
    • Cel prepare (600)
    • Cel copy (601)
    • Cel build (602)
  • A.8. Tworzenie pliku WAR przy użyciu Ant (603)
    • Zadanie jar (603)
    • Zadanie manifest (605)
  • A.9. Przykład. Tworzenie pliku WAR aplikacji internetowej (606)
    • Cel war (607)

Skorowidz (611)

powrót
 
Produkty Podobne
Java dla zupełnie początkujących. Owoce programowania. Wydanie VII
Algorytmy, struktury danych i techniki programowania dla programistów Java
Java EE 8. Wzorce projektowe i najlepsze praktyki
Struktury danych i algorytmy w języku Java. Przewodnik dla początkujących
Modularny JavaScript dla zaawansowanych
Core Java, Volume II--Advanced Features, 11th Edition
Java. Kompendium programisty. Wydanie X
Kotlin w akcji
Nowoczesna Java w działaniu. Wyrażenia lambda, strumienie, programowanie funkcyjne i reaktywne
Java. Przewodnik dla początkujących. Wydanie VII
Więcej produktów