Bryan Basham, Kathy Sierra, Bert Bates head first servlets & jsp. edycja polska ebook.pdf
(
122128 KB
)
Pobierz
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
Serwer
Klient
Kluczow
e elemen
ty strum
ienia
odpowi
edzi
:
➤
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),
Przeglądarka
internetowa
ty
p zawar
tości (tek
st, obraz
,
H
TML itp
. ) ,
➤
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
Określanie nazw serwletów i kojarzenie ich z adresami URL
w deskryptorze wdrożenia
class Foo {
void bar()
{
doBar();
}
}
74
Opowiadanie: Bob buduje witrynę swatającą (wprowadzenie do wzorca MVC)
78
Ogólne informacje i przykład wzorca model-widok-kontroler (MVC)
82
WIDOK
Model
„Działający” deskryptor wdrożenia (DD)
92
BD
Jaka w tym wszystkim jest rola platformy J2EE?
93
6
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
tomcat
Katalogi specyficzne dla Tomcata
webapps
Cele egzaminu
96
Piwo-w1
Zbudujmy aplikację internetową MVC — pierwszy projekt
97
Tworzenie środowisk wytwarzania i wdrażania aplikacji
100
Część specyfikacji
serwletów
WEB-INF
<html>
<body>
...
</body>
</html>
form.html
<%
...
%>
wynik.jsp
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
com
Rozszerzenie kontrolera o wywołania modelu
111
Twoja
aplikacja
Tworzenie i wdrożenie komponentów widoku (to jest JSP)
115
example
Rozszerzenie serwletu o wywołanie strony JSP
116
web
model
4
Być serwletem
0010 0001
1100 1001
0001 0011
0101 0110
0010 0001
1100 1001
0001 0011
0101 0110
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.
Dobrze, wiemy już, do czego służy klasa
Request
…
przyjrzyjmy się teraz klasie
Response
NIEpowtarzalne
154
GET
...
...
Możesz ustawiać nagłówki odpowiedzi, możesz dodawać nagłówki odpowiedzi
161
BD
Serwlet
Przekierowania a przydzielanie żądania
164
Serwer odsyła odpowiedź
z wygenerowanym kodem strony HTML.
Klient
Przypomnienie:
HttpServletResponse
168
7
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.
Cele egzaminu
176
Atrybuty kontekstu
serwlet
Wybawieniem są parametry inicjalizacji oraz obiekt
ServletConfig
178
ustawia
„Adres poczty
administratora
”
foo@wickedlysmart.com
Jak strona JSP może uzyskać dostęp do parametrów inicjalizacji serwletu?
183
BD
„Użytkownicy
pracujący
równocześnie”
42
serwlet
Połączenie
z bazą danych
Wybawieniem są parametry inicjalizacji kontekstu
185
Porównanie obiektów
Servlet
Config
oraz
Servlet
Context
187
<html>
<body>
<jsp:setProperty
name=”foo”
property=”bar”>
</body>
</html>
Chcemy obiektu
ServletContextListener
192
serwlet
Dostęp do tych atrybutów ma każdy składnik aplikacji.
JSP
Przewodnik: prosty obiekt
ServletContextListener
196
Kompilacja, wdrażanie i testowanie obiektu nasłuchującego
204
Atrybuty sesji
Cała historia — obiekt nasłuchujący kontekstu
206
<html>
<body>
<jsp:setProperty
name=”foo”
property=”bar”>
</body>
</html>
ustawia
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
Czy atrybuty sesji są bezpieczne z punktu widzenia wielowątkowości?
226
Dostępne tylko dla komponentów z dostępem do określonego obiektu
ServletRequest
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
6
Stan konwersacyjny
Serwery WWW nie maj¹ pamiêci krótkoterminowej.
Zaraz po odes³aniu do nas
odpowiedzi serwery WWW zapominaj¹, kim jesteśmy. Kiedy wysy³amy kolejne
¿¹danie, docelowy serwer WWW ju¿ nas nie rozpoznaje. Innymi s³owy, serwery
WWW nie pamiêtaj¹ ani tego, czego ¿¹daliśmy w przesz³ości, ani tego, co do nas
wys³a³y w ramach odpowiedzi. Zupe³nie nic! Jednak czasami przechowywanie
informacji o stanie konwersacji z klientem i korzystanie z niego podczas obs³ugi
kolejnych ¿¹dañ
jest konieczne. Koszyk w sklepie internetowym nie dzia³a³by,
gdyby u¿ytkownik musia³ wybieraæ wszystkie towary i realizowaæ zamówienie
w ramach
jednego ¿¹dania
.
Cele egzaminu
250
Ciasteczka
Oto Twoje
ciasteczko
z identyfikatorem
sesji w środku…
To ma być konwersacja (jak działają sesje?)
252
”Set
-Cookie”
jest po pro
stu
kolejnym
nagłówkiem wysyłanym
w ramach odpowiedzi.
Identyfikatory sesji, ciasteczka oraz pozostałe podstawy działania sesji
257
Przepisywanie adresów URL, sposób rozwiązania problemu
263
HTTP/1.1
200 OK
Se
t-Cookie
: JSESSI
ONID=0AA
B6C8DE4
15
Conte
nt-Type: text
/html
Date:
Wed, 19 Nov
2003 03:25:4
0 GMT
Serve
r: Apache-Co
yote/1.1
Conne
ction: close
<html
>
...
</htm
l>
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
Dobrze, oto
moje ciasteczko
odsyłane z kolejnym
żądaniem.
”Cookie”
jest kolejnym nag
łówkiem
wysyłanym w rama
ch żądania HTTP.
Nie zapominaj o interfejsie
HttpSessionBindingListener
282
Migracja sesji
283
Przykłady klas nasłuchujących
287
7
Być stroną JSP
Strona JSP staje siê serwletem.
Serwletem, którego
nie
musisz tworzyæ.
Kontener przegl¹da kod Twojej strony JSP, t³umaczy go na kod źród³owy
jêzyka programowania Java i kompiluje tak przet³umaczony kod na postaæ
pe³nowartościowej klasy serwletu Javy. Musisz jednak wiedzieæ, co dzieje siê
w czasie konwertowania Twojego kodu strony JSP na kod Javy. W ramach kodu
JSP
mo¿esz
co prawda umieszczaæ kod Javy, ale czy na pewno powinieneś?
A jeśli w kodzie stron JSP nie umieszczamy ¿adnych wyra¿eñ jêzyka Java, to
co
znajdzie
siê w tym kodzie? Przyjrzymy siê sześciu rodzajom elementów JSP
— z których ka¿dy ma swoje przeznaczenie i, no niestety,
odmienn¹ sk³adniê
.
Dowiesz siê, co i dlaczego mo¿na umieszczaæ w kodzie stron JSP. Dowiesz siê
tak¿e, czego
nie
nale¿y umieszczaæ w kodzie stron JSP.
Cele egzaminu
308
pisze
jest tłumaczony na
Tworzymy prostą stronę JSP wykorzystującą zmienną
out
i dyrektywę
page
309
package head-
first;
import javax.
servlet.
HttpServlet.*;
<html>
<body>
<jsp:setProperty
name=”foo”
property=”bar”>
</body>
</html>
Wyrażenia JSP, zmienne oraz deklaracje
314
Czas się zapoznać z wygenerowanym serwletem
322
MojJSP_jsp.java
MojJSP.jsp
Zmienna
out
nie jest jedynym obiektem domyślnym…
324
Cykl życia i inicjalizacja stron JSP
332
jest wczytywany
i inicjalizowany
jako
Skoro już poruszyliśmy ten temat… porozmawiajmy o trzech
dyrektywach
340
0010 0001
1100 1001
0001 0011
0101 0110
Obiekt serwletu
Czy skryptlety można uznać za niebezpieczne? Oto EL
343
Serwlet
MojJSP_jsp
MojJSP_jsp.class
Ale zaczekaj… nie widzieliśmy jeszcze akcji
349
9
Plik z chomika:
Maggia
Inne pliki z tego folderu:
Forex w praktyce. Vademecum inwestora walutowego.pdf
(61751 KB)
hiszpański dla bystrzaków full scan.pdf
(6883 KB)
Orison Swett Marden o sukcesie helion.pdf
(8693 KB)
the smashing book #2. edycja polska full version.pdf
(51549 KB)
włochy. zielony przewodnik. wydanie 3 scan.pdf
(17134 KB)
Inne foldery tego chomika:
!!!polski Gerson - dr Ewa Dąbrowska
!Bankrut-RAK
__Książki.pdf
►E-Booki ( 1112 )
◄►EBOOK ════════════
Zgłoś jeśli
naruszono regulamin