Poznaj w niekonwencjonalny sposób nowoczesną technologię
tworzenia stron WWW
Dowiedz się, czym są serwlety i jak działają
Poznaj model MVC
Zastosuj serwlety i JSP w praktyce
Naucz się projektować aplikacje internetowe
Otwórz swój umysł. Poznaj wszystko, co jest związane z serwletami i JSP, w sposób gwarantujący szybkie i skuteczne opanowanie zasad ich stosowania. Zapomnij o listingach liczących tysiące linii, długich i nużących opisach teoretycznych oraz rozbudowanych diagramach. Czytając książkę "Head First Servlets & JSP. Edycja polska", poznasz jedną z najnowocześniejszych metod tworzenia aplikacji WWW w inny sposób. Serwlety i JSP to technologia pozwalająca na budowanie zarówno pojedynczych stron WWW, jak i złożonych dynamicznych serwisów z wykorzystaniem języka Java połączonego z kodem HTML. Aby ją prawidłowo stosować, należy poznać założenia, w oparciu o które została stworzona, oraz nauczyć się tworzyć elementy aplikacji we właściwy sposób.
Dzięki książce "Head First Servlets & JSP. Edycja polska" serwlety i technologia Java Server Pages przestaną być dla Ciebie wiedzą z pogranicza magii. Autorzy książki, wykorzystując najnowsze elementy teorii uczenia, przedstawią Ci wszystkie zagadnienia niezbędne do rozpoczęcia projektowania i tworzenia aplikacji internetowych oraz serwisów WWW z wykorzystaniem JSP. Poznasz typowe elementy aplikacji i zasady ich budowania. Jednak, co najważniejsze, nauczysz się stosować tę wiedzę w praktyce.
Serwlety i strony JSP
Architektura aplikacji internetowych i model MVC
Zasady tworzenia serwletów i aplikacji internetowych
Budowanie obiektów wchodzących w skład aplikacji
Tworzenie stron JSP
Stosowanie niestandardowych znaczników
Wdrażanie aplikacji internetowych
Bezpieczeństwo serwletów
Wykorzystywanie wzorców projektowych
Wprowadzenie
Dla kogo jest ta książka? (16)
Wiemy, co sobie myśli Twój mózg (17)
Metapoznanie (19)
Zmuś swój mózg do posłuszeństwa (21)
Czego potrzebujesz, aby skorzystać z tej książki? (22)
Zdajemy egzamin certyfikujący (24)
Redaktorzy techniczni (26)
Podziękowania (28)
Rozdział 1. Do czego służą serwlety i strony JSP?
Cele egzaminu (30)
Czym zajmuje się serwer WWW i klient, oraz w jaki sposób porozumiewają się ze sobą (34)
Dwuminutowy kurs języka HTML (35)
Czym jest protokół HTTP? (38)
Anatomia żądań GET i POST oraz odpowiedzi protokołu HTTP (43)
Lokalizacja stron WWW przy użyciu adresów URL (48)
Serwery WWW, strony statyczne i CGI (52)
Serwlety bez tajemnic: pisanie, wdrażanie i uruchamianie serwletów (58)
Technologia JSP jest efektem wprowadzenia języka Java do kodu HTML (62)
Rozdział 2. Architektura aplikacji internetowej
Cele egzaminu (66)
Czym jest kontener oraz co nam daje? (67)
Jak to wszystko wygląda w kodzie (co sprawia, że serwlet jest serwletem)? (72)
Określanie nazwy serwletu i kojarzenie ich z adresami URL w deskryptorze wdrożenia (74)
Opowiadanie: Bob buduje witrynę swatającą (wprowadzenie do wzorca MVC) (78)
Ogólne informacje i przykład wzorca model-widok-kontroler (MVC) (82)
"Działający" deskryptor rozmieszczenia (DD) (92)
Jaka w tym wszystkim jest rola platformy J2EE? (93)
Rozdział 3. Minipodręcznik MVC
Cele egzaminu (96)
Zbudujmy aplikację internetową MVC; pierwszy projekt (97)
Tworzenie środowisk wytwarzania i wdrażania aplikacji (100)
Tworzenie i testowanie kodu HTML początkowej strony formularza (103)
Tworzenie deskryptora wdrożenia (DD) (105)
Tworzenie, kompilacja, wdrażanie i testowanie serwletu kontrolera (108)
Projektowanie, tworzenie i testowanie komponentu modelu (110)
Rozszerzenie kontrolera o wywołania modelu (111)
Tworzenie i wdrożenie komponentów widoku (to jest JSP) (115)
Rozszerzenie serwletu o wywołanie strony JSP (116)
Rozdział 4. Być serwletem
Cele egzaminu (122)
Życie serwletu w kontenerze (123)
Inicjalizacja i wątki serwletu (129)
RZECZYWISTYM celem serwletu jest obsługa żądań GET i POST (133)
Historia pewnego niepowtarzalnego żądania (140)
Co sprawia, że przeglądarka wysyła żądanie GET albo żądanie POST? (145)
Wysyłanie i stosowanie parametrów (147)
Dobrze, wiemy już, do czego służy klasa Request... przyjrzyjmy się teraz klasie Response (154)
Możesz ustawiać nagłówki odpowiedzi, możesz dodawać nagłówki odpowiedzi (161)
Przekierowania a przydzielanie żądania (164)
Przypomnienie. HttpServletResponse (168)
Rozdział 5. Być aplikacją internetową
Cele egzaminu (176)
Wybawieniem są parametry inicjalizacji oraz obiekt ServletConfig (177)
Jak strona JSP może uzyskać dostęp do parametrów inicjalizacji serwletu? (183)
Wybawieniem są parametry inicjalizacji kontekstu (185)
Porównanie obiektów ServletConfig oraz ServletContext (187)
Chcemy obiektu ServletContextListener (192)
Przewodnik: prosty obiekt ServletContextListener (196)
Kompilacja, wdrażanie i testowanie obiektu nasłuchującego (204)
Cała historia - obiekt nasłuchujący kontekstu (206)
Osiem interfejsów obiektów nasłuchujących - nie tylko zdarzenia kontekstu (208)
Czym dokładnie jest atrybut i jakie są dla niego rodzaje zasięgów (213)
Interfejs API dla atrybutów - ciemna strona atrybutów (217)
Zasięg kontekstu nie zapewnia bezpieczeństwa wątków! (219)
Jak można zapewnić bezpieczeństwo wątków podczas przetwarzania atrybutów kontekstu? (222)
Próba wykorzystania synchronizacji (223)
Czy atrybuty sesji są bezpieczne z punktu widzenia wielowątkowości? (226)
Zły model jednowątkowy (229)
Tylko atrybuty żądania i zmienne lokalne są bezpieczne z punktu widzenia wielowątkowości! (230)
Atrybuty żądania i przydzielanie żądań (231)
Rozdział 6. Stan konwersacyjny
Cele egzaminu (250)
To ma być konwersacja (jak działają sesje?) (252)
Identyfikatory sesji, ciasteczka oraz pozostałe podstawy działania sesji (257)
Przepisywanie adresów URL, sposób rozwiązania problemu (262)
Kiedy sesje stają się nieaktualne - usuwanie sesji błędnych (267)
Czy ciasteczka mogą mieć także inne zastosowania oprócz obsługi sesji? (276)
Kluczowe momenty w życiu obiektu HttpSession (280)
Nie zapominaj o interfejsie HttpSessionBindingListener (282)
Migracja sesji (283)
Przykłady klas nasłuchujących (287)
Rozdział 7. Być stroną JSP
Cele egzaminu (308)
Tworzymy prostą stronę JSP wykorzystującą zmienną "out" i dyrektywę page (309)
Wyrażenia JSP, zmienne oraz deklaracje (314)
Czas się zapoznać z wygenerowanym serwletem (322)
Zmienna out nie jest jedynym obiektem domyślnym... (324)
Cykl życia i inicjalizacja stron JSP (332)
Skoro już poruszyliśmy ten temat... porozmawiajmy o trzech dyrektywach (340)
Czy skryptlety można uznać za niebezpieczne? Oto EL (343)
Ale zaczekaj... nie widzieliśmy jeszcze akcji (349)
Rozdział 8. Strony bezskryptowe
Cele egzaminu (370)
Które atrybuty są komponentami JavaBean (371)
Standardowe akcje: useBean, getProperty oraz setProperty (374)
Czy można tworzyć polimorficzne referencje do komponentów? (380)
Rozwiązaniem jest użycie atrybutu param (386)
Konwersja właściwości (389)
Uratował nas język wyrażeń (EL) (394)
Stosowanie operatora kropki (.) do uzyskiwania dostępu do właściwości oraz odwzorowywania wartości (396)
Operator [] daje nam więcej możliwości (listy, tablice...) (397)
Więcej szczegółów o operatorach kropki (.) oraz [] (402)
Obiekty domyślne języka EL (409)
Funkcje języka EL i obsługa wartości "null" (415)
Szablony wielokrotnego użytku - dwa rodzaje "dołączania" (426)
Standardowa akcja (437)
Ona nie wie jeszcze o znacznikach JSTL (zapowiedź) (441)
Przegląd standardowych akcji i dołączania (442)
Rozdział 9. Potęga znaczników niestandardowych
Cele egzaminu (462)
Pętle bez skryptów, (464)
Kontrola warunkowa przy wykorzystaniu znaczników oraz (469)
Zastosowanie znaczników oraz (473)
Dzięki znacznikowi mamy do dyspozycji aż trzy metody dołączania treści (478)
Dostosowywanie dołączanej zawartości (480)
Realizacja tego samego zadania za pomocą znacznika (481)
Stosowanie znacznika do realizacji wszystkich zadań związanych z obsługą hiperłączy (483)
Tworzenie własnych stron o błędach (486)
Znacznik , który przypomina trochę... konstrukcję try-catch (490)
Co będzie, jeśli uznamy za niezbędne użycie znacznika SPOZA biblioteki JSTL? (493)
Zwróć uwagę na element (498)
Co może się znaleźć w ciele znacznika (500)
Klasa obsługująca znacznik, deskryptor TLD i strona JSP (501)
Podelement elementu taglib jest tylko nazwą, nie lokalizacją (502)
Kiedy strona JSP wykorzystuje więcej niż jedną bibliotekę znaczników (505)
Rozdział 10. Kiedy JSTL nie wystarcza...
Cele egzaminu (518)
Pliki znaczników - podobnie jak znacznik include, tylko lepiej (520)
Gdzie kontener szuka plików znaczników (527)
Tworzenie prostej klasy obsługi znacznika (530)
A co, jeśli w zawartości znacznika pojawi się wyrażenie? (537)
Wciąż musimy znać klasyczne klasy obsługi znaczników niestandardowych (547)
Interfejs programowy klas obsługi znaczników (548)
Bardzo prosta klasyczna klasa obsługi znacznika niestandardowego (549)
Cykl istnienia znacznika klasycznego zależy od wartości (554)
Interfejs IterationTag pozwala na wielokrotne przetwarzanie zawartości znacznika (555)
Domyślne wartości zwracane przez metody klasy TagSupport (557)
Interfejs BodyTag udostępnia dwie kolejne metody (561)
A co, jeśli znaczniki współpracują ze sobą? (565)
Wykorzystanie interfejsu programowego klasy PageContext (575)
Rozdział 11. Wdrażanie aplikacji internetowych
Cele egzaminu (598)
Podstawowe zagadnienia związane z wdrażaniem różnych elementów aplikacji (599)
Pliki WAR (607)
Jak NAPRAWDĘ działają odwzorowania serwletów? (612)
Konfiguracja plików powitalnych w deskryptorze rozmieszczenia (618)
Konfiguracja stron błędów w deskryptorze rozmieszczenia (622)
Konfigurowanie inicjalizacji serwletu w deskryptorze rozmieszczenia (624)
Tworzenie stron JSP zgodnych z zasadami konstrukcji dokumentów XML: dokumenty JSP (625)
Rozdział 12. Zachowaj je w tajemnicy, ukryj je w bezpiecznym miejscu
Cele egzaminu (646)
Wielka Czwórka bezpieczeństwa serwletów (649)
Jak realizować uwierzytelnianie w świecie protokołu HTTP (652)
Dziesięć najważniejszych powodów przemawiających za deklaratywnym określaniem bezpieczeństwa (655)
Kto zajmuje się zabezpieczeniem aplikacji internetowej? (656)
Autoryzacja: role i ograniczenia (659)
Uwierzytelnianie: cztery odmiany (673)
CZTERY typy uwierzytelniania (673)
Zabezpieczanie przesyłanych informacji - protokół HTTPS śpieszy z pomocą (677)
W jaki sposób wybiórczo i deklaratywnie zaimplementować poufność i integralność danych? (680)
Rozdział 13. Potęga filtrów
Cele egzaminu (698)
Tworzenie filtra służącego do śledzenia żądań (703)
Cykl istnienia filtrów (704)
Deklarowanie i określanie kolejności filtrów (706)
Kompresja wyników przy wykorzystaniu filtra operującego na odpowiedzi (709)
Opakowania są świetne! (715)
Prawdziwy kod filtra kompresji odpowiedzi (718)
Kod opakowania kompresji odpowiedzi (720)
Rozdział 14. Korporacyjne wzorce projektowe
Cele egzaminu (734)
Sprzętowe i programowe siły związane z wzorcami projektowymi (735)
Przegląd zasad związanych z projektowaniem oprogramowania (739)
Wzorce wspomagają zdalne komponenty modelu (741)
JNDI oraz RMI, krótka prezentacja (743)
Delegat Biznesowy jest obiektem pośredniczącym (748)
Uproszczenie używanych Delegatów Biznesowych poprzez zastosowanie Lokalizatora Usług (750)
Nadszedł czas na przedstawienie Obiektu Transferowego? (754)
Nasz pierwszy wzorzec po raz wtóry - MVC (758)
Tak! To Struts (i Kontroler Frontowy) w zarysie (763)
Przystosowanie aplikacji piwnej do korzystania ze szkieletu Struts (766)
Przegląd wzorców projektowych (774)
Dodatek A Ostateczny Egzamin Próbny Baru Kawowego
Ostateczny egzamin próbny (787)
Odpowiedzi (826)
Skorowidz (865)