Marty Hall, Larry Brown, Yaakov Chaikin core java servlets i javaserver pages. tom ii. wydanie ii helion.pdf

(17404 KB) Pobierz
887604234.001.png
4
Core Java Servlets i JavaServer Pages
Uruchomienie serwera Tomcat ............................................................................ 36
Wywoanie aplikacji testApp przy uyciu adresu URL
w postaci http://localhost/testApp/zasób ...................................................... 37
1.7. Wspóuytkowanie danych przez aplikacje internetowe ................................................ 39
Rozdzia 2. Kontrolowanie dziaania aplikacji przy uyciu deskryptora web.xml ....................................47
2.1. Przeznaczenie deskryptora wdroenia ........................................................................ 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 wasnych adresów URL .............................................................. 55
Przypisywanie nazw ............................................................................................ 56
Definiowanie wasnych adresów URL ................................................................... 57
Nazewnictwo stron JSP ...................................................................................... 62
2.5. Wyczanie serwletu wywoujcego ............................................................................ 64
Zmiana odwzorowania wzorca adresu URL /servlet/ ............................................. 65
Globalne wyczanie serwletu wywoujcego na serwerze Tomcat .......................... 66
2.6. Inicjalizowanie i wstpne adowanie serwletów i stron JSP .......................................... 68
Przypisywanie serwletom parametrów inicjalizacyjnych .......................................... 68
Przypisywanie parametrów inicjalizacyjnych JSP .................................................... 71
Parametry inicjalizacyjne na poziomie caej 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 obsugujcych bdy ..................................................................... 81
Element error-code ............................................................................................ 82
Element exception-type ...................................................................................... 84
2.10. Definiowanie zabezpiecze ...................................................................................... 86
Definiowanie metody uwierzytelniania ................................................................. 86
Ograniczanie dostpu 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 waciwoci stron JSP ................................................................. 95
2.15. Kodowanie znaków ............................................................................................... 100
2.16. Tworzenie procesów nasuchujcych zdarze aplikacji .............................................. 100
2.17. Tworzenie rozwiza przeznaczonych dla rodowisk klastrowych ............................... 101
2.18. Elementy J2EE ..................................................................................................... 104
Rozdzia 3. Zabezpieczenia deklaratywne ................................................................................................. 109
3.1. Uwierzytelnianie przy uyciu formularza .................................................................... 111
Definiowanie nazw uytkowników, hase i ról ...................................................... 113
Wczanie na serwerze uwierzytelniania przy uyciu formularzy
i wskazywanie lokalizacji strony logowania oraz strony obsugi bdu logowania .... 114
Tworzenie strony logowania .............................................................................. 115
Tworzenie strony z informacj o bdzie logowania ............................................. 118
Wskazywanie adresów URL, które maj by zabezpieczone hasem ..................... 118
Zdefiniowanie listy wszystkich abstrakcyjnych ról ............................................... 122
Spis treci
5
Wskazywanie adresów URL dostpnych wycznie
za porednictwem protokou SSL .................................................................. 122
Wyczanie serwletu wywoujcego .................................................................... 124
3.2. Przykad. Uwierzytelnianie przy uyciu formularzy ..................................................... 125
Strona gówna ................................................................................................. 125
Deskryptor wdroenia ....................................................................................... 126
Plik z hasami .................................................................................................. 129
Strony logowania i obsugi bdu 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 uytkowników, hase i ról ...................................................... 146
Wczanie na serwerze uwierzytelniania metod BASIC
i definiowanie nazwy obszaru ....................................................................... 146
Wskazywanie adresów URL, które maj by zabezpieczone hasem ..................... 146
Zdefiniowanie listy wszystkich abstrakcyjnych ról ............................................... 147
Wskazywanie adresów URL dostpnych wycznie
za porednictwem protokou SSL .................................................................. 147
3.4. Przykad. Uwierzytelnianie metod BASIC ................................................................. 147
Strona gówna ................................................................................................. 148
Deskryptor wdroenia ....................................................................................... 149
Plik hase ........................................................................................................ 151
Plan finansowy ................................................................................................ 151
Biznesplan ...................................................................................................... 152
Serwlet NoInvokerServlet ................................................................................. 154
3.5. Konfigurowanie obsugi protokou 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 uyciu protokou SSL ..... 170
Rozdzia 4. Zabezpieczenia programistyczne ........................................................................................... 173
4.1. czenie zabezpiecze programistycznych i zabezpiecze
zarzdzanych przez kontener ..................................................................... 175
Odwoania do ról ............................................................................................. 176
4.2. Przykad. czenie zabezpiecze programistycznych i zabezpiecze
zarzdzanych przez kontener ..................................................................... 177
4.3. Zastosowanie wycznie zabezpiecze programistycznych ......................................... 180
4.4. Przykad. Zastosowanie wycznie zabezpiecze programistycznych ........................... 184
4.5. Zabezpieczenia programistyczne i protokó SSL ......................................................... 187
Ustalenie, czy uywany jest protokó SSL ........................................................... 188
Przekierowywanie wywoa, które nie dotycz protokou SSL ............................... 188
Odczytanie liczby bitów w kluczu ....................................................................... 189
Sprawdzenie algorytmu szyfrowania .................................................................. 189
Dostp do certyfikatu X.509 klienta .................................................................. 189
4.6. Przykad. Zabezpieczenia programistyczne i protokó SSL .......................................... 190
6
Core Java Servlets i JavaServer Pages
Rozdzia 5. Filtry serwletów i stron JSP ................................................................................................... 195
5.1. Tworzenie prostych filtrów ...................................................................................... 196
Tworzenie klasy implementujcej interfejs Filter ................................................. 197
Implementacja filtra w metodzie doFilter ............................................................ 198
Wywoanie metody doFilter obiektu FilterChain ................................................... 198
Rejestrowanie filtra dla serwletów lub stron JSP ................................................. 198
Wyczenie serwletu wywoujcego .................................................................... 200
5.2. Przykad. Filtr raportujcy ........................................................................................ 201
5.3. Dostp do kontekstu serwletu z poziomu filtra ......................................................... 207
5.4. Przykad. Filtr zapisujcy do dziennika ..................................................................... 208
5.5. Uywanie parametrów inicjalizujcych dla filtrów ...................................................... 210
5.6. Przykad. Filtr czasu udostpnienia .......................................................................... 212
5.7. Blokowanie odpowiedzi .......................................................................................... 215
5.8. Przykad. Filtr blokujcy stron ................................................................................ 215
5.9. Modyfikowanie odpowiedzi ..................................................................................... 221
Obiekt przechowujcy odpowied, gotowy do wielokrotnego wykorzystania ............ 222
5.10. Przykad. Filtr zastpujcy ..................................................................................... 224
Ogólny filtr modyfikujcy ................................................................................... 224
Konkretny filtr modyfikujcy .............................................................................. 225
5.11. Przykad. Filtr kompresujcy .................................................................................. 230
5.12. Konfigurowanie wspópracy filtra z obiektem RequestDispatcher ............................. 235
5.13. Przykad. atanie potencjalnej dziury w zabezpieczeniach ........................................ 237
5.14. Pena definicja deskryptora wdroenia ................................................................... 243
Rozdzia 6. Model zdarze aplikacji ........................................................................................................... 249
6.1. Monitorowanie zdarze polegajcych na utworzeniu i zniszczeniu kontekstu serwletu ..... 252
6.2. Przykad. Inicjalizowanie wspóuytkowanych danych ................................................. 253
6.3. Wykrywanie zmian wartoci atrybutów kontekstu serwletu ......................................... 258
6.4. Monitorowanie zmian we wspóuytkowanych danych ................................................ 259
6.5. Umieszczanie obiektów nasuchujcych w bibliotekach znaczników ............................ 267
6.6. Przykad. Pakiet zawierajcy obiekty ledzce nazw firmy ........................................ 269
6.7. Wykrywanie zdarze tworzenia i niszczenia sesji ....................................................... 275
6.8. Przykad. Obiekt nasuchujcy, który zlicza sesje ...................................................... 276
Wyczanie obsugi plików cookie ...................................................................... 282
6.9. Wykrywanie zmian w atrybutach sesji ...................................................................... 283
6.10. Przykad. Monitorowanie zamówie na jachty ......................................................... 283
6.11. Wykrywanie inicjalizacji i zniszczenia dania serwletu ............................................ 290
6.12. Przykad. Obliczanie obcienia serwera daniami ................................................. 291
6.13. Wykrywanie zmian atrybutów w daniach serwletów .............................................. 296
6.14. Przykad. Zatrzymywanie obiektu zbierania statystyk da ...................................... 297
6.15. Wykorzystanie wielu obiektów nasuchujcych wspópracujcych ze sob ................. 299
ledzenie zamówie na towary z oferty dnia ....................................................... 300
Resetowanie licznika zamówie na oferty dnia ................................................... 306
6.16. Pena definicja deskryptora wdroenia ................................................................... 311
Rozdzia 7. Podstawowe informacje na temat bibliotek znaczników ....................................................... 317
7.1. Komponenty biblioteki znaczników .......................................................................... 318
Klasa obsugi znacznika ................................................................................... 319
Plik deskryptora biblioteki znaczników ............................................................... 320
Plik JSP .......................................................................................................... 321
Spis treci
7
7.2. Przykad. Prosty znacznik liczby pierwszej ................................................................. 322
7.3. Przypisywanie znacznikom atrybutów ....................................................................... 326
Atrybuty znacznika a klasa obsugi znacznika ..................................................... 326
Atrybuty znacznika a deskryptor biblioteki znaczników ......................................... 327
Atrybuty znacznika a plik JSP ............................................................................ 328
7.4. Przykad. Znacznik liczby pierwszej o zmiennej dugoci ............................................ 328
7.5. Zamieszczanie treci znacznika w danych zwracanych przez znacznik ......................... 330
Tre znacznika a klasa obsugi znacznika ......................................................... 330
Tre znacznika a deskryptor biblioteki znaczników ............................................ 331
Tre znacznika a plik JSP ................................................................................ 331
7.6. Przykad. Znacznik nagówka ................................................................................... 332
7.7. Przykad. Znacznik debugowania ............................................................................. 335
7.8. Tworzenie plików znaczników .................................................................................. 337
7.9. Przykad. Prosty znacznik liczby pierwszej z uyciem pliku znacznika ........................... 339
7.10. Przykad. Znacznik liczby pierwszej o zmiennej dugoci z uyciem pliku znacznika ...... 340
7.11. Przykad. Znacznik nagówka z uyciem pliku znacznika ............................................ 341
Rozdzia 8. Biblioteki znaczników. Funkcje zaawansowane .................................................................... 345
8.1. Operacje na treci znacznika .................................................................................. 346
8.2. Przykad. Znacznik filtrujcy kod HTML ..................................................................... 347
8.3. Przypisywanie atrybutom znaczników wartoci dynamicznych ..................................... 350
Dynamiczne wartoci atrybutów a klasa obsugi znacznika .................................. 351
Dynamiczne wartoci atrybutów a deskryptor biblioteki znaczników ...................... 351
Dynamiczne wartoci atrybutów a plik JSP ......................................................... 351
8.4. Przykad. Prosty znacznik wykonujcy ptl .............................................................. 352
8.5. Przypisywanie atrybutom znaczników wartoci w postaci zoonych obiektów .............. 356
Dynamiczne, zoone wartoci atrybutów a klasa obsugi znacznika ..................... 356
Dynamiczne, zoone wartoci atrybutów a deskryptor biblioteki znaczników ......... 356
Dynamiczne, zoone wartoci atrybutów a plik JSP ............................................ 357
8.6. Przykad. Znacznik formatujcy tabele ..................................................................... 357
8.7. Tworzenie znaczników wykonujcych ptle ............................................................... 362
8.8. Przykad. Znacznik forEach ..................................................................................... 363
8.9. Tworzenie funkcji jzyka wyrae ............................................................................. 367
8.10. Przykad. Ulepszony znacznik debugowania ............................................................. 369
8.11. Obsuga zagniedonych znaczników niestandardowych ........................................... 372
8.12. Przykad. 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
Zgłoś jeśli naruszono regulamin