7
Spis Treści
Spis Treści 1
Podziękowania 11
O autorze 11
Wprowadzenie 12
Prawdziwy kod dla prawdziwych programistów 13
W jaki sposób zorganizowana jest ta książka 13
Część 1.: Serwlety 14
Część 2.: JavaServer Pages 15
Część 3.: Technologie pomocnicze 16
Zastosowane konwencje 16
Podstawowa metoda 16
O witrynie WWW 17
Rozdział 1. Podstawowe informacje o serwletach i Java Server Pages 18
1.1 Serwlety 18
1.2 Zalety serwletów w porównaniu z „tradycyjnymi” programami CGI 19
Efektywność 19
Wygoda 20
Duże możliwości 20
Przenośność 20
Bezpieczeństwo 20
Niewielkie koszty 21
1.3 Java Server Pages 21
1.4 Zalety JSP 22
W porównaniu z Active Server Pages (ASP) 22
W porównaniu z PHP 22
W porównaniu z serwletami 22
W porównaniu z Server-Side Includes (SSI) 22
W porównaniu z językiem JavaScript 23
W porównaniu ze statycznym kodem HTML 23
1.5 Instalacja i konfiguracja 23
Zdobywanie oprogramowania do obsługi serwletów i dokumentów JSP 23
Zapamiętaj adres lub zainstaluj dokumentację Java Servlet oraz JSP API 25
Wskaż klasy używane przez kompilator Javy 25
Unix (C Shell) 26
Windows 26
Umieść klasy w pakietach 26
Skonfiguruj serwer 26
Numer portu 27
Zmienna środowiskowa JAVA_HOME 27
Ustawienia pamięci systemu DOS 27
Ustawienie CR/LF w serwerze Tomcat 3.0 27
Uruchomienie serwera 28
Kompilacja i instalacja własnych serwletów 28
Tomcat 28
Tomcat 3.1 28
JSWDK 29
Java Web Server 2.0 29
Rozdział 2. Pierwsze serwlety 30
2.1 Podstawowa struktura serwletów 30
2.2 Prosty serwlet generujący zwyczajny tekst 31
Kompilacja i instalacja serwletów 32
Wywoływanie serwletów 33
2.3 Serwlety generujące kod HTML 34
2.4 Umieszczanie serwletów w pakietach 35
Tworzenie serwletów należących do konkretnego pakietu 36
Kompilacja serwletów należących do pakietów 36
Wywoływanie serwletów należących do pakietów 38
2.5 Proste narzędzia pomocne przy tworzeniu dokumentów HTML 38
2.6 Cykl życiowy serwletów 40
Metoda init 40
Metoda service 41
Metody doGet, doPost oraz doXxx 42
Interfejs SingleThreadModel 43
Metoda destroy 43
2.7 Przykład użycia parametrów inicjalizacyjnych 44
2.8 Przykład wykorzystania inicjalizacji serwletu i daty modyfikacji strony 47
2.9 Testowanie serwletów 50
2.10 WebClient: Interaktywna wymiana informacji z serwerem WWW 52
WebClient 52
HttpClient 55
NetworkClient 56
SocketUtil 57
CloseableFrame 57
LabeledTextField 58
Interruptible 59
Rozdział 3. Obsługa żądań: Dane przesyłane z formularzy 60
3.1 Znaczenie informacji przesyłanych z formularzy 60
3.2 Odczytywanie danych formularzy w serwletach 61
3.3 Przykład: Odczyt trzech konkretnych parametrów 61
3.4 Przykład: Odczyt wszystkich parametrów 64
3.5 Serwis rejestracji życiorysów 67
3.6 Filtrowanie łańcuchów w poszukiwaniu znaków specjalnych HTML 76
Implementacja filtrowania 76
Przykład 77
Rozdział 4. Obsługa żądań: Nagłówki żądań HTTP 80
4.1 Odczytywanie wartości nagłówków żądania w serwletach 80
4.2 Wyświetlanie wszystkich nagłówków 82
4.3 Nagłówki żądań protokołu HTTP 1.1 84
4.4 Przesyłanie skompresowanych stron WWW 88
4.5 Ograniczanie dostępu do stron WWW 90
Rozdział 5. Dostęp do standardowych zmiennych CGI 95
5.1 Odpowiedniki zmiennych CGI dostępne w serwletach 95
5.2 Serwlet wyświetlający wartości zmiennych CGI 98
Rozdział 6. Generacja odpowiedzi: Kody statusu 100
6.1 Określanie kodów statusu 100
6.2 Kody statusu protokołu HTTP 1.1 oraz ich przeznaczenie 102
6.3 Interfejs użytkownika obsługujący różne serwisy wyszukiwawcze 109
Rozdział 7. Generacja odpowiedzi: Nagłówki odpowiedzi HTTP 114
7.1 Określanie nagłówków odpowiedzi z poziomu serwletów 114
7.2 Nagłówki odpowiedzi protokołu HTTP 1.1 oraz ich znaczenie 116
Accept-Ranges 116
Age 116
Allow 116
Cache-Control 116
Connection 117
Content-Encoding 117
Content-Language 118
Content-Length 118
Content-Location 118
Content-MD5 118
Content-Range 118
Content-Type 118
Date 120
ETag 120
Expires 120
Last-Modified ...
chomikmuzyczka