Java Script i Java Server Pages [PL](1).pdf

(3857 KB) Pobierz
3177 - LEGO City
Spis Tre Ś ci
SPIS TREŚCI ..................................................................................................................................... 1
PODZIĘKOWANIA ........................................................................................................................ 11
O AUTORZE ..................................................................................................................................... 11
WPROWADZENIE ......................................................................................................................... 12
P RAWDZIWY 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
Z ASTOSOWANE KONWENCJE ........................................................................................................... 16
Podstawowa metoda....................................................................................................... 16
O WITRYNIE WWW ........................................................................................................................ 17
ROZDZIAŁ 1. PODSTAWOWE INFORMACJE O SERWLETACH I JAVA SERVER
PAGES .............................................................................................................................................. 18
1.1 S ERWLETY .......................................................................................................................... 18
1.2 Z ALETY 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 J AVA S ERVER P AGES ................................................................................................................. 21
1.4 Z ALETY 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 I NSTALACJA 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
2
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 P ODSTAWOWA STRUKTURA SERWLETÓW .................................................................................. 30
2.2 P ROSTY SERWLET GENERUJĄCY ZWYCZAJNY TEKST .................................................................. 31
Kompilacja i instalacja serwletów............................................................................................. 32
Wywoływanie serwletów ............................................................................................................ 33
2.3 S ERWLETY GENERUJĄCE KOD HTML........................................................................................ 34
2.4 U MIESZCZANIE 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 P ROSTE NARZĘDZIA POMOCNE PRZY TWORZENIU DOKUMENTÓW HTML.................................. 38
2.6 C YKL ŻYCIOWY SERWLETÓW .................................................................................................... 40
Metoda init ................................................................................................................................. 40
Metoda service ........................................................................................................................... 41
Metody doGet, doPost oraz doXxx............................................................................................. 42
Interfejs SingleThreadModel...................................................................................................... 43
Metoda destroy........................................................................................................................... 43
2.7 P RZYKŁAD UŻYCIA PARAMETRÓW INICJALIZACYJNYCH ............................................................ 44
2.8 P RZYKŁAD WYKORZYSTANIA INICJALIZACJI SERWLETU I DATY MODYFIKACJI STRONY ............. 47
2.9 T ESTOWANIE SERWLETÓW ........................................................................................................ 50
2.10 W EB C LIENT : I NTERAKTYWNA 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 Z NACZENIE INFORMACJI PRZESYŁANYCH Z FORMULARZY ......................................................... 60
3.2 O DCZYTYWANIE DANYCH FORMULARZY W SERWLETACH ......................................................... 61
3.3 P RZYKŁAD : O DCZYT TRZECH KONKRETNYCH PARAMETRÓW .................................................... 61
3.4 P RZYKŁAD : O DCZYT WSZYSTKICH PARAMETRÓW ..................................................................... 64
3.5 S ERWIS REJESTRACJI ŻYCIORYSÓW ........................................................................................... 67
3.6 F ILTROWANIE ŁAŃCUCHÓW W POSZUKIWANIU ZNAKÓW SPECJALNYCH HTML........................ 76
Implementacja filtrowania ......................................................................................................... 76
Przykład ..................................................................................................................................... 77
 
3
Spis Treści
ROZDZIAŁ 4. OBSŁUGA ŻĄDAŃ: NAGŁÓWKI ŻĄDAŃ HTTP.......................................... 80
4.1 O DCZYTYWANIE WARTOŚCI NAGŁÓWKÓW ŻĄDANIA W SERWLETACH ....................................... 80
4.2 W YŚWIETLANIE WSZYSTKICH NAGŁÓWKÓW ............................................................................. 82
4.3 N AGŁÓWKI ŻĄDAŃ PROTOKOŁU HTTP 1.1 ............................................................................... 84
4.4 P RZESYŁANIE SKOMPRESOWANYCH STRON WWW................................................................... 88
4.5 O GRANICZANIE DOSTĘPU DO STRON WWW.............................................................................. 90
ROZDZIAŁ 5. DOSTĘP DO STANDARDOWYCH ZMIENNYCH CGI ................................ 95
5.1 O DPOWIEDNIKI ZMIENNYCH CGI DOSTĘPNE W SERWLETACH ................................................... 95
5.2 S ERWLET WYŚWIETLAJĄCY WARTOŚCI ZMIENNYCH CGI .......................................................... 98
ROZDZIAŁ 6. GENERACJA ODPOWIEDZI: KODY STATUSU......................................... 100
6.1 O KREŚLANIE KODÓW STATUSU ............................................................................................... 100
6.2 K ODY STATUSU PROTOKOŁU HTTP 1.1 ORAZ ICH PRZEZNACZENIE ......................................... 102
6.3 I NTERFEJS UŻYTKOWNIKA OBSŁUGUJĄCY RÓŻNE SERWISY WYSZUKIWAWCZE ........................ 109
ROZDZIAŁ 7. GENERACJA ODPOWIEDZI: NAGŁÓWKI ODPOWIEDZI HTTP ......... 114
7.1 O KREŚLANIE NAGŁÓWKÓW ODPOWIEDZI Z POZIOMU SERWLETÓW .......................................... 114
7.2 N AGŁÓ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................................................................................................................... 120
Location ........................................................................................................................... 120
Pragma ............................................................................................................................. 121
Refresh ............................................................................................................................. 121
Retry-After ....................................................................................................................... 121
Server ............................................................................................................................... 122
Set-Cookie........................................................................................................................ 122
Trailer............................................................................................................................... 122
Transfer-Encoding ........................................................................................................... 122
Upgrade ............................................................................................................................ 122
Vary.................................................................................................................................. 122
Via .................................................................................................................................... 122
Warning............................................................................................................................ 122
WWW-Authenticate......................................................................................................... 123
7.3 T RWAŁE PRZECHOWYWANIE STANU SERWLETU I AUTOMATYCZNE ODŚWIEŻANIE STRON ....... 123
7.4 S TOSOWANIE TRWAŁYCH POŁĄCZEŃ HTTP ............................................................................ 130
7.5 W YKORZYSTANIE SERVLETÓW DO GENERACJI OBRAZÓW GIF ................................................ 133
 
4
ROZDZIAŁ 8. OBSŁUGA COOKIES ........................................................................................ 141
8.1 K ORZYŚCI STOSOWANIA COOKIES ........................................................................................... 141
Identyfikacja użytkowników podczas trwania sesji na witrynach komercyjnych..................... 141
Unikanie konieczności podawania nazwy użytkownika i hasła ............................................... 142
Dostosowywanie witryny ......................................................................................................... 142
Dobór reklam ........................................................................................................................... 142
8.2 N IEKTÓRE PROBLEMY ZWIĄZANE ZE STOSOWANIEM COOKIES ................................................. 142
8.3 Narzędzia obsługi cookies dostępne w servletach ............................................................. 143
Tworzenie cookies .................................................................................................................... 144
Atrybuty cookies ....................................................................................................................... 144
Umieszczanie cookies w nagłówkach odpowiedzi ................................................................... 146
Odczytywanie cookies nadesłanych przez przeglądarkę.......................................................... 146
8.4 P RZYKŁADY GENERACJI I ODCZYTYWANA COOKIES ................................................................ 146
8.5 P ROSTE NARZĘDZIA DO OBSŁUGI COOKIES .............................................................................. 149
Odnajdywanie cookie o określonej nazwie .............................................................................. 150
Tworzenie cookies o długim czasie istnienia ........................................................................... 150
8.6 I NTERFEJS WYSZUKIWAWCZY Z MOŻLIWOŚCIĄ ZAPAMIĘTYWANIA USTAWIEŃ ........................ 151
ROZDZIAŁ 9. ŚLEDZENIE SESJI............................................................................................. 156
9.1 P OTRZEBA ŚLEDZENIA SESJI .................................................................................................... 156
Cookies..................................................................................................................................... 156
Przepisywanie adresów URL ................................................................................................... 157
Ukryte pola formularzy ............................................................................................................ 157
Śledzenie sesji w serwletach .................................................................................................... 157
9.2 N ARZĘDZIA PROGRAMISTYCZNE DO ŚLEDZENIA SESJI ............................................................. 158
Pobieranie obiektu HttpSession skojarzonego z bieżącym żądaniem ...................................... 158
Pobieranie informacji skojarzonych z sesją............................................................................. 158
Kojarzenie informacji z sesją................................................................................................... 160
Zakańczanie sesji ..................................................................................................................... 161
Kodowanie adresów URL przesyłanych do przeglądarki ........................................................ 161
9.3 S ERVLET GENERUJĄCY INDYWIDUALNY LICZNIK ODWIEDZIN DLA KAŻDEGO UŻYTKOWNIKA . 162
9.4 I NTERNETOWY SKLEP WYKORZYSTUJĄCY KOSZYKI I ŚLEDZENIE SESJI .................................... 164
Tworzenie interfejsu użytkownika ............................................................................................ 165
Obsługa zamówień................................................................................................................... 169
To czego nie widać: Implementacja koszyka i katalogu towarów ........................................... 172
ROZDZIAŁ 10. ELEMENTY SKRYPTOWE JSP.................................................................... 178
10.1 E LEMENTY SKRYPTOWE ........................................................................................................ 180
Tekst szablonu .......................................................................................................................... 180
10.2 W YRAŻENIA JSP ................................................................................................................... 180
Predefiniowane zmienne .......................................................................................................... 180
Składnia XML stosowana w wyrażeniach................................................................................ 181
Zastosowanie wyrażeń jako wartości atrybutów ..................................................................... 181
Przykład ................................................................................................................................... 182
10.3 S KRYPTLETY JSP .................................................................................................................. 183
Wykorzystanie skryptletów do warunkowego wykonania fragmentu strony JSP .................... 185
Specjalna składnia skryptletów................................................................................................ 186
10.4 D EKLARACJE JSP .................................................................................................................. 186
Specjalna składnia zapisu deklaracji....................................................................................... 187
10.5 P REDEFINIOWANE ZMIENNE .................................................................................................. 187
 
5
Spis Treści
ROZDZIAŁ 11. DYREKTYWA PAGE: STRUKTURALIZACJA GENEROWANYCH
SERWLETÓW............................................................................................................................... 190
11.1 A TRYBUT IMPORT .................................................................................................................. 190
Katalogi służące do przechowywania własnych klas............................................................... 191
Przykład ................................................................................................................................... 192
11.2 A TRYBUT CONTENT T YPE ...................................................................................................... 193
Generacja zwyczajnych dokumentów tekstowych .................................................................... 194
Generacja arkuszy kalkulacyjnych programu Microsoft Excel ............................................... 195
11.3 A TRYBUT IS T HREAD S AFE ..................................................................................................... 198
11.4 A TRYBUT SESSION ................................................................................................................. 200
11.5 A TRYBUT BUFFER .................................................................................................................. 200
11.6 A TRYBUT AUTOFLUSH ........................................................................................................... 200
11.7 A TRYBUT EXTENDS ............................................................................................................... 200
11.8 A TRYBUT INFO ...................................................................................................................... 201
11.9 A TRYBUT ERROR P AGE .......................................................................................................... 201
11.10 A TRYBUT IS E RROR P AGE ..................................................................................................... 201
11.11 A TRYBUT LANGUAGE .......................................................................................................... 203
11.12 S KŁADNIA XML ZAPISU DYREKTYW ................................................................................... 204
ROZDZIAŁ 12. DOŁĄCZANIE PLIKÓW I APLETÓW DO DOKUMENTÓW JSP.......... 205
12.1 D OŁĄCZANIE PLIKÓW W CZASIE PRZEKSZTAŁCANIA STRONY ................................................ 205
12.2 D OŁĄCZANIE PLIKÓW PODCZAS OBSŁUGI ŻĄDAŃ .................................................................. 207
D OŁĄCZANIE APLETÓW KORZYSTAJĄCYCH Z J AVA P LUG -I N ........................................................ 209
Znacznik akcji jsp:plugin ......................................................................................................... 210
Znaczniki akcji jsp:param oraz jsp:params............................................................................. 212
Znacznik akcji jsp:fallback ...................................................................................................... 213
Przykład: Generacja tekstu z cieniem ...................................................................................... 213
ROZDZIAŁ 13. WYKORZYSTANIE KOMPONENTÓW JAVABEANS W
DOKUMENTACH JSP ................................................................................................................. 219
13.1 P ODSTAWOWE SPOSOBY UŻYCIA KOMPONENTÓW ................................................................. 220
Dostęp do właściwości komponentów...................................................................................... 221
Określanie właściwości komponentów — prosty przypadek ................................................... 222
Instalacja klas komponentów ................................................................................................... 222
13.2 P RZYKŁAD : S TRING B EAN ...................................................................................................... 223
13.3 O KREŚLANIE WARTOŚCI WŁAŚCIWOŚCI KOMPONENTÓW ....................................................... 224
Kojarzenie właściwości z parametrami wejściowymi.............................................................. 227
Automatyczna konwersja typów ............................................................................................... 228
Kojarzenie wszystkich właściwości z parametrami wejściowymi ............................................ 229
13.4 W SPÓLNE WYKORZYSTYWANIE KOMPONENTÓW ................................................................... 230
Warunkowe tworzenie komponentów....................................................................................... 231
ROZDZIAŁ 14. TWORZENIE BIBLIOTEK ZNACZNIKÓW ............................................... 234
14.1 E LEMENTY TWORZĄCE BIBLIOTEKĘ ZNACZNIKÓW ................................................................ 235
Klasa obsługi znacznika........................................................................................................... 235
Plik deskryptora biblioteki znaczników.................................................................................... 236
Plik JSP .................................................................................................................................... 237
14.2 D EFINIOWANIE PROSTYCH ZNACZNIKÓW .............................................................................. 238
Klasa obsługi znacznika........................................................................................................... 238
Plik deskryptora biblioteki znaczników.................................................................................... 239
Plik JSP .................................................................................................................................... 240
 
Zgłoś jeśli naruszono regulamin