
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
Naucz się stosowania nowoczesnej technologii tworzenia aplikacji, wykorzystując nowoczesną technologię uczenia.
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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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 <jsp:forward> (437)
- Ona nie wie jeszcze o znacznikach JSTL (zapowiedź) (441)
- Przegląd standardowych akcji i dołączania (442)
- Cele egzaminu (462)
- Pętle bez skryptów, <c:forEach> (464)
- Kontrola warunkowa przy wykorzystaniu znaczników <c:if> oraz <c:choose> (469)
- Zastosowanie znaczników <c:set> oraz <c:remove> (473)
- Dzięki znacznikowi <c:import> mamy do dyspozycji aż trzy metody dołączania treści (478)
- Dostosowywanie dołączanej zawartości (480)
- Realizacja tego samego zadania za pomocą znacznika <c:param> (481)
- Stosowanie znacznika <c:url> do realizacji wszystkich zadań związanych z obsługą hiperłączy (483)
- Tworzenie własnych stron o błędach (486)
- Znacznik <c:catch>, 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 <rtexprvalue> (498)
- Co może się znaleźć w ciele znacznika (500)
- Klasa obsługująca znacznik, deskryptor TLD i strona JSP (501)
- Podelement <uri> elementu taglib jest tylko nazwą, nie lokalizacją (502)
- Kiedy strona JSP wykorzystuje więcej niż jedną bibliotekę znaczników (505)
- 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)
- 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)
- 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)
- 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)
- 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)
- Ostateczny egzamin próbny (787)
- Odpowiedzi (826)