pelna-wersja-java-servlet-i-javaserver-pages-tom-1-wydanie-ii_jsjsp1.pdf

(19631 KB) Pobierz
656489872 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Java Servlet i JavaServer
Pages. Tom 1. Wydanie II
SPIS TREŒCI
KATALOG KSI¥¯EK
Autorzy: Marty Hall, Larry Brown
T³umaczenie: Piotr Rajca
ISBN: 83-246-0032-9
Format: B5, stron: 640
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Zastosuj platformê Java 2 do tworzenia
aplikacji internetowych i dynamicznych witryn WWW
• Zainstaluj i skonfiguruj serwery aplikacji
Poznaj zasady tworzenia serwletów i dokumentów JSP
Po³¹cz aplikacjê z baz¹ danych
Java Servlet i JavaServer Pages to oparte na platformie Java 2 technologie
wykorzystywane do tworzenia aplikacji internetowych i dynamicznych witryn WWW.
Stosuje siê je wszêdzie tam, gdzie niezbêdna jest wysoka stabilnoœæ i niezawodnoœæ,
wydajnoœæ przy przetwarzaniu danych i elastycznoœæ pozwalaj¹ca na szybkie
dodawanie kolejnych modu³ów rozszerzaj¹cych mo¿liwoœci aplikacji. W oparciu o te
technologie powstaj¹ miêdzy innymi systemy bankowoœci elektronicznej, aplikacje
finansowe oraz systemy do obs³ugi programów lojalnoœciowych. Ogromn¹ zalet¹ tej
technologii jest fakt, ¿e zarówno narzêdzia programistyczne, jak i serwery aplikacji
dostêpne s¹ nieodp³atnie, na zasadach open source, co redukuje koszty tworzenia
oraz u¿ytkowania stworzonych za ich pomoc¹ systemów.
Ksi¹¿ka „Java Servlet i JavaServer Pages. Tom 1. Wydanie II” przedstawia sposoby
wykorzystywania najnowszych mo¿liwoœci serwletów i stron JSP. Wyjaœnia, w jakich
przypadkach nale¿y stosowaæ serwlety, w jakich JSP oraz kiedy po³¹czyæ te
technologie. Czytaj¹c j¹, poznasz specyfikacjê technologii Java Servlet w wersji 2.4
oraz technologii JSP w wersji 2.0, nauczysz siê instalowaæ i konfigurowaæ serwery
aplikacji oraz dowiesz siê, jak tworzyæ aplikacje w obu technologiach i jak ³¹czyæ je
z bazami danych za pomoc¹ interfejsów JDBC. Zastosujesz w swoich projektach
najlepsze strategie, których omówienie równie¿ znajdziesz w tej ksi¹¿ce.
Instalacja i konfiguracja serwera Tomcat, JRun i Resin
Zasady tworzenia serwletów
Obs³uga protoko³u HTTP oraz danych z formularzy HTML
Generowanie plików XLS
œledzenie sesji i stosowanie plików cookie
Podstawy stosowania JSP
Wykorzystywanie komponentów JavaBean
Architektura MVC
Po³¹czenie z bazami danych za pomoc¹ JDBC
Napisz wydajne i stabilne aplikacje internetowe, wykorzystuj¹c nowoczesne technologie
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
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
656489872.001.png 656489872.002.png 656489872.003.png 656489872.004.png
Spis treści
Podziękowania ......................................................................................................................................... 13
O autorach ................................................................................................................................................ 14
Wprowadzenie ......................................................................................................................................... 15
Rozdział 1. Ogólne informacje o serwletach i JavaServer Pages ........................................................25
1.1. Rola serwletów .................................................................................................. 25
1.2. Dlaczego warto dynamicznie generować strony WWW? .......................................... 27
1.3. Przedstawienie kodu serwletu ............................................................................. 28
1.4. Zalety serwletów w porównaniu ze zwykłymi programami CGI ................................. 30
Efektywność ................................................................................................. 30
Wygoda ........................................................................................................ 30
Duże możliwości ............................................................................................ 31
Przenośność ................................................................................................. 31
Niewielkie koszty ........................................................................................... 31
Bezpieczeństwo ............................................................................................ 32
Główny kierunek rozwoju ................................................................................ 33
1.5. JavaServer Pages .............................................................................................. 33
Część I Serwlety
35
Rozdział 2. Instalacja i konfiguracja serwera ......................................................................................37
2.1. Pobranie oraz instalacja Java Software Development Kit (SDK) .............................. 38
2.2. Pobranie serwera na lokalny komputer ................................................................ 39
2.3. Konfiguracja serwera .......................................................................................... 42
2.4. Konfiguracja serwera Tomcat .............................................................................. 43
Określanie wartości zmiennej środowiskowej JAVA_HOME ................................ 44
Określanie portu używanego przez serwer ........................................................ 45
Uaktywnianie opcji automatycznej aktualizacji serwletów .................................. 46
Uaktywnienie kontekstu głównego .................................................................. 47
Włączenie serwletu wywołującego ................................................................... 47
Powiększenie limitów pamięci dla programów DOS ........................................... 48
Określenie wartości zmiennej środowiskowej CATALINA_HOME ......................... 48
Testowanie podstawowej konfiguracji serwera ................................................. 48
 
4
Java Servlet i JavaServer Pages. Tom 1
2.5. Konfiguracja serwera JRun .................................................................................. 49
Numer seryjny serwera .................................................................................. 50
Ograniczenia użytkowników ............................................................................ 50
Katalog instalacyjny Javy ................................................................................ 50
Katalog instalacyjny serwera .......................................................................... 51
Nazwa i hasło administratora ......................................................................... 51
Możliwość automatycznego uruchamiania serwera ........................................... 51
Określenie portu serwera ............................................................................... 52
Testowanie podstawowej konfiguracji serwera ................................................. 53
2.6. Konfiguracja serwera Resin ................................................................................ 54
Określanie wartości zmiennej środowiskowej JAVA_HOME ................................ 54
Określenie portu używanego przez serwer Resin .............................................. 55
Testowanie podstawowej konfiguracji serwera ................................................. 55
2.7. Konfiguracja środowiska pracy ............................................................................ 55
Stworzenie katalogu roboczego ...................................................................... 56
Określanie wartości zmiennej środowiskowej CLASSPATH ................................. 57
Tworzenie skrótów ułatwiających uruchamianie i zatrzymywanie serwera ............ 58
Zapisanie adresu lub zainstalowanie dokumentacji API serwletów i JSP ............. 59
2.8. Testowanie konfiguracji ...................................................................................... 60
Sprawdzenie konfiguracji SDK ........................................................................ 60
Sprawdzenie podstawowej konfiguracji serwera ............................................... 61
Kompilacja i wdrożenie prostych serwletów ..................................................... 63
2.9. Tworzenie uproszczonej metody wdrażania ........................................................... 69
Utworzenie skrótów lub łączy symbolicznych .................................................... 70
Stosowanie opcji -d kompilatora ..................................................................... 71
Wdrażanie przy wykorzystaniu IDE ................................................................... 71
Zastosowanie programu ant lub podobnego .................................................... 72
2.10. Katalogi wdrożeniowe dla domyślnych aplikacji WWW. Podsumowanie .................. 72
Tomcat ......................................................................................................... 73
JRun ............................................................................................................ 73
Resin ........................................................................................................... 74
2.11. Aplikacje WWW — prezentacja .......................................................................... 75
Utworzenie katalogu aplikacji ......................................................................... 76
Aktualizacja zmiennej środowiskowej CLASSPATH ............................................ 77
Zarejestrowanie aplikacji WWW na serwerze .................................................... 77
Stosowanie prefiksów adresów URL ................................................................ 79
Przypisywanie serwletom niestandardowych adresów URL ................................ 81
Rozdział 3. Podstawy tworzenia serwletów .........................................................................................85
3.1. Podstawowa struktura serwletów ........................................................................ 86
3.2. Serwlet generujący zwykły tekst .......................................................................... 88
3.3. Serwlet generujący kod HTML ............................................................................. 89
3.4. Umieszczanie serwletów w pakietach .................................................................. 92
3.5. Proste narzędzia pomocne podczas tworzenia dokumentów HTML ......................... 93
3.6. Cykl istnienia serwletów ..................................................................................... 96
Metoda service ............................................................................................. 97
Metody doGet, doPost oraz doXxx ................................................................... 98
Metoda init ................................................................................................... 98
Metoda destroy ........................................................................................... 103
3.7. Interfejs SingleThreadModel ............................................................................. 104
3.8. Testowanie serwletów ...................................................................................... 108
Spis treści
5
Rozdział 4. Obsługa żądań: dane przesyłane za pomocą formularzy ...................................................111
4.1. Znaczenie informacji przesyłanych za pomocą formularzy .................................... 111
4.2. Odczytywanie danych formularzy w serwletach .................................................... 113
Odczytywanie pojedynczych wartości: metoda getParameter ............................ 113
Odczytywanie wielu wartości: metoda getParameterValues ............................. 114
Pobieranie nazw parametrów: metody getParameterNames
oraz getParameterMap ........................................................................... 114
Odczytywanie nieprzetworzonych danych formularza
i analiza przesyłanych plików: metody getReader oraz getInputStream ........ 115
Odczyt danych zakodowanych przy użyciu różnych zbiorów znaków:
metoda setCharacterEncoding ................................................................ 116
4.3. Przykład: odczytanie trzech konkretnych parametrów ........................................... 117
4.4. Przykład: odczytanie wszystkich parametrów ...................................................... 120
4.5. Stosowanie wartości domyślnych, gdy nie podano parametru
lub jego wartość jest niewłaściwa ..................................................................... 123
4.6. Filtrowanie łańcuchów w poszukiwaniu znaków specjalnych HTML ........................ 133
Implementacja filtrowania ............................................................................ 134
Przykład: serwlet wyświetlający fragmenty kodu ............................................. 136
4.7. Automatyczne zapisywanie wartości parametrów w obiektach Javy:
komponenty formularzy .................................................................................... 139
Zastosowanie klasy BeanUtilities ................................................................. 142
Pobieranie i instalacja pakietów Jakarta Commons ........................................ 145
4.8. Ponowne wyświetlanie formularza w przypadku pominięcia
lub błędnego podania wartości parametrów ....................................................... 146
Opcje ponownego wyświetlania formularza .................................................... 146
Serwlet obsługujący aukcje .......................................................................... 148
Rozdział 5. Obsługa żądań: nagłówki żądań HTTP ................................................................................ 155
5.1. Odczytywanie wartości nagłówków żądania w serwletach ..................................... 156
5.2. Wyświetlanie wszystkich nagłówków .................................................................. 157
5.3. Nagłówki żądań protokołu HTTP 1.1 .................................................................. 159
5.4. Przesyłanie skompresowanych stron WWW ........................................................ 164
5.5. Rozróżnianie przeglądarek różnych typów ........................................................... 167
5.6. Modyfikowanie strony w zależności od tego, skąd użytkownik na nią trafił ............ 169
5.7. Dostęp do standardowych zmiennych CGI .......................................................... 173
Odpowiedniki zmiennych CGI dostępne w serwletach ..................................... 173
Serwlet wyświetlający wartości zmiennych CGI ............................................... 176
Rozdział 6. Generowanie odpowiedzi: kody statusu HTTP ................................................................... 179
6.1. Określanie kodów statusu ................................................................................ 180
Określanie dowolnego kodu statusu: metoda setStatus ................................. 180
Stosowanie kodów statusu 302 oraz 404:
metody sendRedirect oraz sendError ....................................................... 181
6.2. Kody statusu protokołu HTTP 1.1 oraz ich przeznaczenie .................................... 182
6.3. Serwlet przekierowujący użytkownika na stronę wybraną
zależnie od używanej przeglądarki ..................................................................... 187
6.4. Interfejs użytkownika obsługujący różne serwisy wyszukujące .............................. 189
Rozdział 7. Generowanie odpowiedzi: nagłówki odpowiedzi HTTP ...................................................... 195
7.1. Określanie nagłówków odpowiedzi z poziomu serwletów ...................................... 195
7.2. Nagłówki odpowiedzi protokołu HTTP 1.1 oraz ich znaczenie ................................ 197
7.3. Generowanie arkuszy kalkulacyjnych programu Excel .......................................... 204
6
Java Servlet i JavaServer Pages. Tom 1
7.4. Trwałe przechowywanie stanu serwletu i automatyczne odświeżanie stron ............ 205
Znajdowanie liczb pierwszych na potrzeby systemów kryptograficznych
z kluczem publicznym ............................................................................. 206
7.5. Zastosowanie serwletów do generowania obrazów JPEG ..................................... 215
Rozdział 8. Obsługa cookies ................................................................................................................. 225
8.1. Korzyści płynące ze stosowania cookies ............................................................ 225
Identyfikacja użytkowników podczas trwania sesji
na witrynach zajmujących się handlem elektronicznym .............................. 226
Zapamiętywanie nazwy użytkownika i hasła ................................................... 226
Dostosowywanie witryny ............................................................................... 227
Dobór reklam .............................................................................................. 227
8.2. Niektóre problemy związane ze stosowaniem cookies ......................................... 227
8.3. Usuwanie cookies ............................................................................................ 230
8.4. Wysyłanie i odbieranie cookies ......................................................................... 230
Wysyłanie cookies do przeglądarki ................................................................ 231
Odczytywanie cookies przesyłanych przez klienta ........................................... 233
8.5. Zastosowanie cookies do wykrywania użytkowników odwiedzających stronę
po raz pierwszy ................................................................................................ 234
8.6. Stosowanie atrybutów cookies .......................................................................... 236
8.7. Rozróżnianie cookies sesyjnych od trwałych ....................................................... 239
8.8. Proste narzędzia do obsługi cookies .................................................................. 242
Odnajdywanie cookie o określonej nazwie ..................................................... 242
Tworzenie cookies o długim czasie ważności ................................................. 243
8.9. Praktyczne zastosowanie klas ułatwiających obsługę cookies .............................. 244
8.10. Modyfikacja wartości cookie: śledzenie ilości odwiedzin użytkownika .................... 246
8.11. Użycie cookies do zapamiętywania preferencji użytkownika ................................. 248
Rozdział 9. Śledzenie sesji ................................................................................................................... 253
9.1. Potrzeba śledzenia sesji ................................................................................... 253
Cookies ...................................................................................................... 254
Przepisywanie adresów URL ......................................................................... 254
Ukryte pola formularzy ................................................................................. 255
Śledzenie sesji w serwletach ........................................................................ 255
9.2. Podstawowe informacje o śledzeniu sesji .......................................................... 255
Pobieranie obiektu HttpSession skojarzonego z bieżącym żądaniem ................ 256
Pobieranie informacji skojarzonych z sesją .................................................... 257
Kojarzenie informacji z sesją ........................................................................ 257
Usuwanie danych sesji ................................................................................ 258
9.3. Interfejs programowania aplikacji służący do obsługi sesji ................................... 258
9.4. Sesje przeglądarki a sesje serwera ................................................................... 260
9.5. Przepisywanie adresów URL przesyłanych do przeglądarki ................................... 261
9.6. Serwlet generujący indywidualny licznik odwiedzin dla każdego użytkownika .......... 263
9.7. Gromadzenie listy danych użytkownika ............................................................... 265
9.8. Internetowy sklep wykorzystujący koszyki i śledzenie sesji ................................... 269
Tworzenie interfejsu użytkownika .................................................................. 269
Obsługa zamówień ...................................................................................... 273
To, czego nie widać: implementacja koszyka i katalogu produktów .................. 277
Zgłoś jeśli naruszono regulamin