full-version-core-java-servlets-i-javaserver-pages-tom-ii-wydanie-ii_jsp2w2.pdf

(17854 KB) Pobierz
665265041 UNPDF
Core Java Servlets
i JavaServer Pages.
Tom II. Wydanie II
Autor: Marty Hall,
Larry Brown, Yaakov Chaikin
T‡umaczenie: Daniel Kaczmarek
ISBN: 978-83-246-1726-5
Tytu‡ orygina‡u: Core Servlets
Technologies, Vol. 2 (2nd Edition)
Format: 172x245, stron: 632
Jak wykorzysta strumienie?
Jak stworzy efektowny interfejs u¿ytkownika?
Jak zapewni bezpieczeæstwo w tworzonych aplikacjach?
Co spowodowa‡o, ¿e jŒzyk programowania Java zyska‡ tak wielk„ popularno?
Przyczyn jest kilka: mo¿liwo przenoszenia kodu miŒdzy programami, wydajno i to,
co programici lubi„ najbardziej mechanizm automatycznego oczyszczania pamiŒci.
Nie bez znaczenia jest rwnie¿ to, ¿e Java jest jŒzykiem zorientowanym obiektowo,
udostŒpnia obs‡ugŒ programowania rozproszonego oraz wietn„ dokumentacjŒ.
Ponadto liczne publikacje oraz pomocna spo‡eczno sprawiaj„, ¿e Java zajmuje
poczesne miejsce wrd innych jŒzykw programowania.
Kolejne wydanie ksi„¿ki zosta‡o zaktualizowane o wszystkie te elementy, ktre pojawi‡y
siŒ w wersji szstej platformy Java Standard Edition. DziŒki tej ksi„¿ce dowiesz siŒ,
w jaki sposb wykorzysta strumienie, jak parsowa dokumenty XML czy te¿ w jaki
sposb tworzy aplikacje sieciowe. Poznasz interfejs JDBC, sposb wykorzystania
transakcji oraz wykonywania zapytaæ SQL. Autorzy w szczeg‡owy sposb poka¿„ Ci,
jak tworzy aplikacje z wykorzystaniem biblioteki Swing. Dodatkowo przedstawi„,
w jaki sposb zapewni bezpieczeæstwo w tworzonych przez Ciebie aplikacjach.
Wszystkie te - oraz wiele innych zagadnienia zostan„ przedstawione w przystŒpny
i sprawdzony sposb!
Wykorzystanie strumieni
Dokumenty XML i ich wykorzystanie w jŒzyku Java
Programowanie aplikacji sieciowych
Wykorzystanie interfejsu JDBC
Tworzenie aplikacji wielojŒzycznych
Mo¿liwoci pakietu Swing
Wykorzystanie biblioteki AWT
Bezpieczeæstwo w aplikacjach
Zastosowanie podpisu cyfrowego
Sposoby wykorzystania obiektw rozproszonych (RMI)
Wykorzystaj zaawansowane moŃliwoľci jķzyka Java w swoich projektach!
665265041.001.png 665265041.002.png
Spis treci
Wprowadzenie ................................................................................................................................................ 11
Podzikowania ............................................................................................................................................... 15
O autorach ...................................................................................................................................................... 16
Rozdzia 1. Uywanie i wdraanie aplikacji internetowych ......................................................................... 17
1.1. Cele aplikacji internetowych .................................................................................... 18
Organizacja ....................................................................................................... 18
Przenono ..................................................................................................... 18
Separacja ......................................................................................................... 18
1.2. Struktura aplikacji internetowych ............................................................................... 19
Lokalizacje poszczególnych rodzajów plików ......................................................... 19
1.3. Rejestrowanie aplikacji internetowych na serwerze ..................................................... 23
Rejestrowanie aplikacji internetowych na serwerze Tomcat ................................... 24
Rejestrowanie aplikacji internetowych na innych serwerach ................................... 26
1.4. Strategie rozwoju i wdraania aplikacji internetowych .................................................. 28
Kopiowanie struktury do skrótu lub dowizania symbolicznego .............................. 29
Wykorzystanie funkcji wdraania udostpnianych przez IDE ................................... 30
Uywanie narzdzi ant, maven i im podobnych ..................................................... 30
Uywanie IDE wraz z narzdziem Ant ................................................................... 31
1.5. Umieszczanie aplikacji internetowych w plikach WAR .................................................. 31
1.6. Tworzenie prostej aplikacji internetowej ..................................................................... 32
Pobranie aplikacji app-blank i zmiana jej nazwy na testApp ................................... 33
Pobranie plików test.html, test.jsp oraz TestServlet.java ....................................... 33
Dodanie plików test.html i test.jsp do aplikacji internetowej testApp ..................... 33
Umieszczenie pliku TestServlet.java w katalogu
testApp/WEB-INF/classes/coreservlets .......................................................... 34
Kompilacja pliku TestServlet.java ........................................................................ 34
Zadeklarowanie w pliku web.xml klasy TestServlet.class oraz adresu URL,
który j wywouje ........................................................................................... 35
Skopiowanie aplikacji testApp do katalogu katalog_tomcat/webapps .................... 36
 
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
Zgłoś jeśli naruszono regulamin