Head First Servlets & JSP. Edycja polska(1).pdf

(3561 KB) Pobierz
Head First Servlets & JSP. Edycja polska
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Head First Servlets
SPIS TRECI
& JSP. Edycja polska
KATALOG KSI¥¯EK
Autorzy: Bryan Basham, Kathy Sierra, Bert Bates
T³umaczenie: Piotr Rajca, Miko³aj Szczepaniak
ISBN: 83-7361-810-4
Tytu³ orygina³ u: Head First Servlets & JSP
Format: B5, stron: 888
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
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 najnowoczeniejszych 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³aciwy 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.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
119561978.034.png 119561978.035.png 119561978.036.png 119561978.037.png
Spis treści (skrócony)
Wprowadzenie
15
1. Do czego służą serwlety i strony JSP? Wprowadzenie i przegląd najważniejszych zagadnień
29
2. Architektura aplikacji internetowej. Bardziej szczegółowy przegląd zagadnień
65
3. Minipodręcznik MVC. Omówienie MVC
95
4. Być serwletem. Żądanie i odpowiedź
121
5. Być aplikacją internetową. Atrybuty i obiekty nasłuchujące
175
6. Stan konwersacyjny. Zarządzanie sesjami
249
7. Być stroną JSP. Stosowanie technologii JSP
307
8. Strony bezskryptowe. Bezskryptowe strony JSP
369
9. Potęga znaczników niestandardowych. Stosowanie biblioteki JSTL
461
10. Kiedy JSTL nie wystarcza. Tworzenie znaczników niestandardowych
517
11. Jak wdrożyć aplikację internetową? Wdrażanie aplikacji internetowych
597
12. Zachowaj je w tajemnicy, ukryj je w bezpiecznym miejscu.
Bezpieczeństwo aplikacji internetowych
645
13. Potęga filtrów. Filtry i opakowania
697
14. Korporacyjne wzorce projektowe. Wzorce i Struts
733
A Ostateczny egzamin próbny
787
Skorowidz
865
Spis treści (na serio)
Twój mózg koncentruje siê na serwletach. W tym rozdziale Ty próbujesz
siê czegoś nauczyæ , a Twój mózg robi Ci przys³ugê i nie przyk³ada siê do
zapamiêtywania zdobytej wiedzy. Twój mózg myśli sobie: „Lepiej zostawiê miejsce
w pamiêci na bardziej istotne informacje, na przyk³ad: jakich dzikich zwierz¹t
nale¿y unikaæ b¹dź czy je¿d¿enie nago na snowboardzie jest dobrym pomys³em”.
A zatem w jaki sposób mo¿esz przekonaæ swój mózg, ¿e Twoje ¿ycie zale¿y od
poznania serwletów?
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
5
W Wprowadzenie
119561978.001.png
1 Do czego służą serwlety i strony JSP?
Aplikacje internetowe s¹ super. Ile znasz normalnych aplikacji o graficznym
interfejsie u¿ytkownika, których u¿ywaj¹ miliony osób na ca³ym świecie?
Jako programista aplikacji internetowych mo¿esz uwolniæ siê od problemów
z wdra¿aniem, jakie wystêpuj¹ w przypadku tworzenia wszystkich standardowych
aplikacji, i udostêpniaæ swoje aplikacje wszystkim, którzy posiadaj¹ przegl¹darki
WWW. Jednak do tego bêdziesz potrzebowaæ serwletów i stron JSP. Bêdziesz ich
potrzebowaæ, poniewa¿ zwyk³e, statyczne strony HTML by³y dobre… w latach 90.
Zatem dowiedz siê, jak zmieniæ witrynê WWW w aplikacjê internetow¹ .
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
Żądanie HTTP
Anatomia żądań GET i POST oraz odpowiedzi protokołu HTTP
43
Przeglądarka
internetowa
Lokalizacja stron WWW przy użyciu adresów URL
48
Serwery WWW, strony statyczne i CGI
52
Odpowiedź HTTP
Serwlety bez tajemnic: pisanie, wdrażanie i uruchamianie serwletów
58
Klient
Kluczow e elemen ty strum ienia
odpowi edzi :
Serwer
Technologia JSP jest efektem wprowadzenia języka Java do kodu HTML
62
kod stan u (okreś lający,
czy dan e żądan ie zostało
pomyś lnie prze tworzon e),
ty p zawar tości (tek st, obraz ,
H TML itp . ) ,
Przeglądarka
internetowa
zawa rtość (rz eczywist y kod
HTM L, obra z itp.).
Klient
2 Architektura aplikacji internetowej
Serwlety potrzebuj¹ pomocy. Kiedy jest odbierane ¿¹danie, ktoś musi utworzyæ
egzemplarz serwletu albo przynajmniej utworzyæ w¹tek, który bêdzie umia³
obs³u¿yæ ¿¹danie. Ktoś musi wywo³aæ metodê doPost() lub doGet() serwletu.
Ktoś musi przekazaæ ¿¹danie do serwletu oraz odebraæ to, co serwlet wygeneruje
w odpowiedzi. Ktoś musi zarz¹dzaæ ¿yciem, śmierci¹ oraz zasobami u¿ywanymi
przez serwlet. W tym rozdziale bêdziemy pisaæ o kontenerze i po raz pierwszy
przyjrzymy siê wzorcowi MVC.
Serwlet
Kontroler
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
class Foo {
void bar()
{
doBar();
}
}
Określanie nazw serwletów i kojarzenie ich z adresami URL
w deskryptorze wdrożenia
74
Opowiadanie: Bob buduje witrynę swatającą (wprowadzenie do wzorca MVC)
78
WIDOK
Model
Ogólne informacje i przykład wzorca model-widok-kontroler (MVC)
82
BD
„Działający” deskryptor wdrożenia (DD)
92
Jaka w tym wszystkim jest rola platformy J2EE?
93
6
119561978.002.png 119561978.003.png 119561978.004.png 119561978.005.png
3 Minipodręcznik MVC
Tworzenie i wdra¿anie aplikacji internetowych MVC. Nadszed³ czas, aby utrudziæ
nasze d³onie pisaniem formularzy HTML, kontrolerów serwletów, modeli (zwyk³ych,
tradycyjnych klas Javy), deskryptora rozmieszczenia w formacie XML oraz widoku
opartego na stronach JSP. Najwy¿sza pora zbudowaæ, wdro¿yæ i przetestowaæ
tak¹ aplikacjê. Najpierw jednak musimy przygotowaæ odpowiednie środowisko
wytwarzania aplikacji. Nastêpnie musimy przygotowaæ środowisko wdra¿ania ,
postêpuj¹c przy tym zgodnie ze specyfikacj¹ serwletów i JSP oraz wymaganiami
Tomcata. Owszem… tworzymy ma³¹ aplikacjê, jednak niemal ¿adna aplikacja nie
jest na tyle ma³a, by nie mo¿na w niej by³o wykorzystaæ wzorca MVC.
tomcat
Katalogi specyficzne dla Tomcata
webapps
Piwo-w1
Cele egzaminu
96
Zbudujmy aplikację internetową MVC — pierwszy projekt
97
Część specyfikacji
serwletów
WEB-INF
<html>
<body>
...
</body>
</html>
form.html
<%
...
%>
wynik.jsp
Tworzenie środowisk wytwarzania i wdrażania aplikacji
100
Tworzenie i testowanie kodu HTML początkowej strony formularza
103
Tworzenie deskryptora wdrożenia (DD)
105
classes
lib
<webapp>
.
.
</webapp>
Tworzenie, kompilacja, wdrażanie i testowanie serwletu kontrolera
108
web.xml
Projektowanie, tworzenie i testowanie komponentu modelu
110
Twoja
aplikacja
com
Rozszerzenie kontrolera o wywołania modelu
111
Tworzenie i wdrożenie komponentów widoku (to jest JSP)
115
example
Rozszerzenie serwletu o wywołanie strony JSP
116
web
model
0010 0001
1100 1001
0001 0011
0101 0110
0010 0001
1100 1001
0001 0011
0101 0110
4 Być serwletem
Serwlety ¿yj¹, by obs³ugiwaæ klientów. Zadaniem serwletu jest obs³uga
¿¹dañ klientów i odsy³anie do klienta w³aściwych odpowiedzi . Ż¹danie mo¿e
byæ zupe³nie proste, np. prześlij mi stronê powitaln¹ , lub znacznie bardziej
skomplikowane, np. wygeneruj zamówienie na podstawie zawartości mojego
koszyka . Ż¹danie obejmuje dane kluczowe, a kod Twojego serwletu musi
wiedzieæ, jak nale¿y te dane odszukaæ i jak mo¿na ich u¿yæ . Co wiêcej, kod
serwletu musi wiedzieæ, jak odes³aæ odpowiedź . A jeśli nie
Idempotencja to
nic wstydliwego…
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
Serwlet wykorzystuje dane
dołączone do żądania POST do
zaktualizowania bazy danych.
NIEpowtarzalne
Dobrze, wiemy już, do czego służy klasa Request
przyjrzyjmy się teraz klasie Response
154
GET
...
...
BD
Możesz ustawiać nagłówki odpowiedzi, możesz dodawać nagłówki odpowiedzi
161
Serwlet
Przekierowania a przydzielanie żądania
164
Serwer odsyła odpowiedź
z wygenerowanym kodem strony HTML.
Klient
Przypomnienie: HttpServletResponse
168
7
tomcat
119561978.006.png 119561978.007.png 119561978.008.png 119561978.009.png 119561978.010.png 119561978.011.png 119561978.012.png 119561978.013.png 119561978.014.png 119561978.015.png 119561978.016.png
5 Być aplikacją internetową
Żaden serwlet nie dzia³a samodzielnie. We wspó³czesnych aplikacjach
internetowych osi¹ganie zamierzonego celu jest mo¿liwe dziêki wspó³pracy wielu
komponentów. Stosowane s¹ komponenty modelu, widoku oraz kontrolera.
Wykorzystuje siê tak¿e ró¿ne klasy pomocnicze. Jednak w jaki sposób wszystkie
te elementy wspólnie tworz¹ jedn¹ aplikacjê internetow¹? W jaki sposób
komponenty mog¹ wspólnie korzystaæ z pewnych informacji? Jak ukrywaæ pewne
informacje? Jak zapewniæ bezpieczeñstwo informacji podczas wykonywania
w¹tków? Od odpowiedzi na te pytania mo¿e zale¿eæ Twoja praca.
Atrybuty kontekstu
serwlet
Cele egzaminu
176
ustawia
Wybawieniem są parametry inicjalizacji oraz obiekt ServletConfig
178
BD
„Adres poczty
administratora
foo@wickedlysmart.com
Jak strona JSP może uzyskać dostęp do parametrów inicjalizacji serwletu?
183
„Użytkownicy
pracujący
równocześnie”
42
Połączenie
z bazą danych
serwlet
Wybawieniem są parametry inicjalizacji kontekstu
185
<html>
<body>
<jsp:setProperty
name=”foo”
property=”bar”>
</body>
</html>
Porównanie obiektów Servlet Config oraz Servlet Context
187
Chcemy obiektu ServletContextListener
192
serwlet
Dostęp do tych atrybutów ma każdy składnik aplikacji.
JSP
Przewodnik: prosty obiekt ServletContextListener
196
Atrybuty sesji
Kompilacja, wdrażanie i testowanie obiektu nasłuchującego
204
ustawia
<html>
<body>
<jsp:setProperty
name=”foo”
property=”bar”>
</body>
</html>
Cała historia — obiekt nasłuchujący kontekstu
206
serwlet
Serwlet A
Osiem interfejsów obiektów nasłuchujących
— nie tylko zdarzenia kontekstu
Widok JSP
208
serwlet
Serwlet B
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
Dostępne tylko dla komponentów z dostępem do określonego obiektu HttpSession
Zasięg kontekstu nie zapewnia bezpieczeństwa wątków!
220
Atrybuty ŻĄDANIA
Jak można zapewnić bezpieczeństwo wątków podczas przetwarzania
atrybutów kontekstu?
ustawia
<html>
<body>
<jsp:setProperty
name=”foo”
property=”bar”>
</body>
</html>
222
„RekomendacjaPiwosza”
Moose Drool”
serwlet
Próba wykorzystania synchronizacji
223
Kontroler
Widok JSP
Dostępne tylko dla komponentów z dostępem do określonego obiektu ServletRequest
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
8
119561978.017.png 119561978.018.png 119561978.019.png 119561978.020.png 119561978.021.png 119561978.022.png 119561978.023.png 119561978.024.png 119561978.025.png 119561978.026.png 119561978.027.png 119561978.028.png 119561978.029.png 119561978.030.png 119561978.031.png 119561978.032.png 119561978.033.png
Zgłoś jeśli naruszono regulamin