Java Servlet Programowanie, książki, Informatyka, Ksiazki, Java i Javascript, JAVA i JavaScript, Java Servlet. ...

[ Pobierz całość w formacie PDF ]
O Autorach
Jason Hunter jest starszym technologiem w firmie CollabNet (
), firmie dostarczaj
ą
cej narz
ę
dzia i
usługi dla współpracy Open Source. Oprócz bycia autorem ksi
ąŜ
ki „Java Servlet — programowanie” jest tak
Ŝ
e
redaktorem witryny
Servlets.com
, twórc
ą
biblioteki
com.oreilly.servlet
, współpracownikiem projektu Apache
Jakarta, który tworzy serwer Tomcat (od czasów, kiedy projekt był jeszcze wewn
ę
trzn
ą
cz
ęś
ci
ą
firmy Sun),
członkiem grupy ekspertów odpowiedzialnej za tworzenie API Servlet/JSP i JAXP oraz jest członkiem Komitetu
Wykonawczego JCP nadzoruj
ą
cego platform
ę
Javy, jako reprezentant Apache Software Foundation. Pisze
równie
Ŝ
artykuły dla JavaWorld oraz przemawia na wielu konferencjach programistycznych i Open Source. W
ostatnich czasach współtworzył bibliotek
ę
Open Source JDOM (
), pozwalaj
ą
c
ą
na optymalizacj
ę
integracji Javy i XML oraz przewodzi grupie ekspertów odpowiedzialnej za tworzenie JDOM.
Jason poprzednio pełnił funkcj
ę
głównego technologa w firmie K&A Software, specjalizuj
ą
cej si
ę
w treningach i
konsultacjach zwi
ą
zanych z Jav
ą
i działał jako wynaj
ę
ty ekspert dla wielu przedsi
ę
biorstw wł
ą
czaj
ą
c w to Sun
Microsystems. Jeszcze wcze
ś
niej pracował w Silicon Graphics, gdzie był odpowiedzialny za tworzenie (i
niszczenie) ró
Ŝ
nego rodzaju technologii WWW.
Jason uko
ń
czył z najwy
Ŝ
szym wyró
Ŝ
nieniem kierunek nauki komputerowe w Willamette University (Salem,
Oregon) w 1995. Rozpocz
ą
ł programowanie w Javie w lecie 1995, a z serwletami i innymi technologiami
programowania po stronie serwera jest zwi
ą
zany od grudnia 1996. Je
Ŝ
eli jakim
ś
cudem nie pracuje,
przypuszczalnie mo
Ŝ
na go znale
źć
na górskiej w
ę
drówce.
William „Will” Crawford zwi
ą
zał si
ę
z tworzeniem stron WWW w 1995. Pracował przy programie
informatycznym szpitala Children's Hospital w Bostonie, gdzie pomagał przy tworzeniu pierwszego
elektronicznego systemu zapisów medycznych opartego na sieci WWW i był zwi
ą
zany z jednymi z pierwszych
korporacyjnych zastosowa
ń
j
ę
zyka Java. Był konsultantem projektów sieci Intranet w mi
ę
dzy innymi Children's
Hospital w Massachusetts, General Hospital w Brigham, Women's Hospital, Boston Anesthesia Education
Foundation i Harvard Medical Center.
Will obecnie przewodzi zespołowi projektanckiemu w firmie Invantage, Inc. w Cambridge, Massachusetts, która
tworzy oparte na Javie narz
ę
dzia intranetowe dla przemysłu farmaceutycznego. W wolnym czasie jest
zapalonym amatorem fotografii, pisarzem i studentem ekonomii na Yale University.
Kolofon
Wygl
ą
d naszych ksi
ąŜ
ek jest wynikiem komentarzy czytelników, naszych własnych eksperymentów oraz
komentarzy od dystrybutorów. Wyró
Ŝ
niaj
ą
ce si
ę
okładki dopełniaj
ą
nasze wyró
Ŝ
niaj
ą
ce si
ę
podej
ś
cie do
tematów technicznych, tchn
ą
ce osobowo
ść
i
Ŝ
ycie w potencjalnie suche tematy.
Obrazek na okładce ksi
ąŜ
ki „Java Servlet — programowanie. Wydanie drugie.” przedstawia miedziany imbryk.
Collen Gorman była redaktorem produkcji, a Norma Emory edytorem kopii dla „Java Servlet —
programowanie. Wydanie drugie.” Catherine Moris i Leanne Soylemez były odpowiedzialne za kontrol
ę
jako
ś
ci.
Firma Frameworks Consulting dostarczyła obsługi produkcji. Ellen Troutman-Zaig napisała indeks.
Hanna Dyer zaprojektowała okładk
ę
niniejszej ksi
ąŜ
ki w oparciu o projekt serii autorstwa Ediego Freedmana.
Obrazek został sfotografowany przez Kevina Thomasa i dostosowany przy pomocy Adobe Photoshop przez
Michaela Snowa. Emma Colby utworzyła pozostał
ą
cz
ęść
okładki w programie QuarkXPress 4.1 przy pomocy
czcionki Bodoni Black firmy URW Software i Bodoni Bold Italic firmy Bitstream.
David Futato zaprojektował wn
ę
trze ksi
ąŜ
ki w oparciu o projekt serii autorstwa Nancy Priest. Judy Hoer
dokonała konwersji plików Microsoft Word na FrameMaker 5.5.6, przy pomocy narz
ę
dzi utworzonych przez
Mike'a Sierra. Czcionka nagłówków to Bodoni BT, czcionka tekstu to New Baskerville, a czcionka kodu to
Constant Willison. Rysunki pojawiaj
ą
ce si
ę
w ksi
ąŜ
ce zostały utworzone przez Roberta Romano przy pomocy
Macromedia FreeHand 8 i Adobe Photoshop 5.
Wstęp
Od czasu, kiedy napisane zostało pierwsze wydanie niniejszej ksi
ąŜ
ki, serwlety i platforma Javy działaj
ą
ca po
stronie serwera zyskała popularno
ść
, której nie mo
Ŝ
na było spodziewa
ć
si
ę
w naj
ś
mielszych marzeniach.
Post
ę
puje przył
ą
czanie tych mechanizmów do istniej
ą
cych. Producenci serwerów WWW oferuj
ą
obecnie
obsług
ę
serwletów jako standardow
ą
własno
ść
swojego oprogramowania. W specyfikacji Java 2, Enterprise
Edition (J2EE) serwlety istniej
ą
jako podstawowy składnik, a niemo
Ŝ
liwym jest obecnie znalezienie producenta
serwerów aplikacji, którego produkt nie zawierałby skalowalnej implementacji serwletów. Jest to jednak wi
ę
cej
ni
Ŝ
zjawisko nap
ę
dzane przez producentów. Serwlety stały si
ę
podstaw
ą
dla JavaServer Pages (JSP) i innych
szkieletów tworzenia stron WWW, a technologia serwletów obsługuje aktualnie tak cz
ę
sto odwiedzane witryny,
jak ESPN.com i AltaVista.com.
W zwi
ą
zku z tym nie jest zaskakuj
ą
cym fakt,
Ŝ
e krajobraz serwletów wygl
ą
da nieco inaczej ni
Ŝ
w czasach
pierwszego wydania. Interfejs serwletów (Servlet API) został poddany dwóm przegl
ą
dom, a trzeci jest w trakcie
przygotowa
ń
. Znajome z pocz
ą
tków istnienia serwletów firmy Live Software i New Atlanta, które niegdy
ś
zarabiały sprzedaj
ą
c mechanizmy serwletów (nazywane teraz
kontenerami serwletów
) Jrun i ServletExec,
zostały zauwa
Ŝ
one i wykupione przez wi
ę
ksze firmy zorientowane na WWW, odpowiednio przez Allaire i
Unify. Oferuj
ą
one teraz wiele własno
ś
ci wykraczaj
ą
cych poza podstawow
ą
obsług
ę
serwletów w celu
odró
Ŝ
nienia si
ę
od innych.
Co dziwne, oficjalne pakiety
javax.servlet
i
javax.servlet.http
były pierwszymi klasami Javy,
które zostały oficjalnie rozprowadzone jako Open Source. Zostały one przeniesione do projektu Apache
Software Foundation (ASF), i mo
Ŝ
na je aktualnie odnale
źć
pod adresem
. Pakiety te
dalej zgodne s
ą
ze specyfikacj
ą
Servlet API, jednak poprawa bł
ę
dów i uaktualnianie specyfikacji znajduje si
ę
teraz w r
ę
kach w zaufanych programistów Open Source — wł
ą
czaj
ą
c autora, który miał niedawno okazj
ę
poprawienia obsługi warunkowego
Ŝą
dania GET w
HttpServlet
. Dodatkowo, serwer, który jest traktowany
jako wzorcowa implementacja Servlet API, został równie
Ŝ
przeniesiony do ASF i udost
ę
pniony jako Open
Source pod nazw
ą
Apache Tomcat. Od tego czasu Tomcat stał si
ę
jednym z najpopularniejszych kontenerów
serwletów. Wi
ę
ksza ilo
ść
informacji na ten temat dost
ę
pna jest pod adresem
.
Ś
wiat serwletów zmienił si
ę
, a niniejsza ksi
ąŜ
ka zawiera uaktualnione informacje. Cał
ą
wiedz
ę
potrzebn
ą
do
programowania serwletów Javy, od pocz
ą
tku do ko
ń
ca. Pierwsze pi
ęć
rozdziałów opisuje podstawy — czym s
ą
serwlety, jakie działania wykonuj
ą
oraz w jaki sposób pracuj
ą
. Nast
ę
pne 15 rozdziałów zawiera informacje
zaawansowane — opisuje działania podejmowane najcz
ęś
ciej przy pomocy serwletów oraz najpopularniejsze
narz
ę
dzia do tego słu
Ŝą
ce. Mo
Ŝ
na tam znale
źć
wiele przykładów, kilka wskazówek i ostrze
Ŝ
e
ń
, a nawet opisy
kilku prawdziwych bł
ę
dów, które umkn
ę
ły uwagi korektorów technicznych.
Servlet API 2.2
Niniejsze wydanie ksi
ąŜ
ki opisuje wersj
ę
2.2 Servlet API, która osi
ą
gn
ę
ła stan „wersji publicznej” w sierpniu
1999, a stan „wersji ostatecznej” w grudniu 1999. Wydanie pierwsze opisywało wersje 2.0. Zmiany pomi
ę
dzy
wersjami 2.0 i 2.2 s
ą
znaczne:
·
Zostały wprowadzone zasady definiuj
ą
ce dystrybucje serwletów pomi
ę
dzy kilkoma serwerami
wspieraj
ą
cymi.
·
Serwlety korzystaj
ą
aktualnie z doł
ą
czanych aplikacji WWW, które mog
ą
by
ć
konfigurowane i
wdra
Ŝ
ane w sposób niezale
Ŝ
ny od serwera.
·
Znacznie poprawione zostało bezpiecze
ń
stwo serwletów.
Serwlety mog
ą
teraz przekazywa
ć
obsług
ę
Ŝą
da
ń
innym składnikom serwera.
·
·
Serwlety mog
ą
teraz dzieli
ć
si
ę
informacjami przy pomocy ich
ServletContext
·
Istnieje sposób przystosowania serwletów do obsługi dost
ę
pu rozproszonego.
·
Serwlety posiadaj
ą
teraz
ś
ci
ś
lejsz
ą
kontrol
ę
nad zarz
ą
dzaniem sesj
ą
.
·
Dodane zostało buforowanie odpowiedzi.
·
Rozszerzona została kontrola nad nagłówkami HTTP.
·
Aktualnie mo
Ŝ
e by
ć
zastosowana bardziej zaawansowana obsługa bł
ę
dów.
·
API został „wyczyszczony” w celu nadania wi
ę
kszej spójno
ś
ci i przewidywalno
ś
ci nazwom metod.
·
Servlet API jest teraz zdefiniowany poprzez formalny dokument specyfikacji, a przyszłe uaktualnienia
API s
ą
zarz
ą
dzane przez formalny proces Java Specification Request (JSR).
Serwlety s
ą
teraz zintegrowane z podstawow
ą
specyfikacj
ą
platformy Java 2, Enterpise Edition (J2EE).
Wszystkie te zmiany, oraz wiele innych drobnych usprawnie
ń
, s
ą
w pełni opisane w niniejszym nowym
wydaniu. Drugie wydanie zawiera równie
Ŝ
obszerny opis najciekawszego obszaru programowania serwletów —
technik tworzenia prawdziwych dynamicznych witryn opartych na serwletach. W niniejszym wydaniu znajduj
ą
si
ę
samouczki pi
ę
ciu najpopularniejszych technologii tworzenia zawarto
ś
ci opartej na serwletach, nale
Ŝą
cych do
Open Source:
·
JavaServer Pages (JSP), standard firmy Sun, tworzony i udost
ę
pniany w poł
ą
czeniu z serwletami
·
·
Tea, technologia utworzona przez Walt Disney Internet Group (dawniej GO.com), zastosowany w
wielu bardzo cz
ę
sto odwiedzanych stronach, takich jak
ESPN.com
,
NFL.com
,
Disney.com
,
DisneyLand.com
,
GO.com
i
Movies.com
·
WebMacro, utworzony przez Semiotek i wykorzystywany przez wyszukiwark
ę
AltaVista
·
XMLC, utworzony przez Lutris Technologies w celu udost
ę
pnienia mocy technologii XML sieci
WWW, wykorzystywany przez innowacyjne witryny takie jak customatix.com
·
Element Construcion Set (ECS), utworzony przez Apache w celu obsługi najbardziej wymagaj
ą
cych
potrzeb programistycznych
Niniejsze drugie wydanie opisuje równie
Ŝ
WAP, Wireless Application Protocol (Protokół Aplikacji
Bezprzewodowych) oraz wyja
ś
nia, jak tworzy
ć
oparte na serwletach aplikacje WWW dla urz
ą
dze
ń
bezprzewodowych.
Servlet API 2.3
W czasie pisania niniejszej ksi
ąŜ
ki, Servlet API 2.3 jest w trakcie tworzenia. Jednak nie został on jeszcze
uko
ń
czony. W zwi
ą
zku z tym tekst niniejszego wydania zawiera w ró
Ŝ
nych miejscach krótkie uwagi na temat
zmian spodziewanych w z Servlet API 2.3. Dodatkowo, ostatni rozdział ksi
ąŜ
ki zawiera dokładniejszy opis
próbnej specyfikacji Servlet API 2.3, udost
ę
pnionej w pa
ź
dzierniku 2000, który pozwala na zapoznanie si
ę
z
najnowszymi własno
ś
ciami Servlet API 2.3. Nale
Ŝ
y jednak zaznaczy
ć
,
Ŝ
e specyfikacje te ci
ą
gle podlegaj
ą
zmianom, a ostateczna wersja mo
Ŝ
e si
ę
nieco ró
Ŝ
ni
ć
od materiału tu przedstawionego.
Czytelnicy pierwszego wydania
Czytelnicy ksi
ąŜ
ki „
Java Servlet Programming, 1st ed.
” zorientuj
ą
si
ę
,
Ŝ
e niniejsza ksi
ąŜ
ka została obszernie
uaktualniona do Servlet API 2.2 i, gdzie to tylko mo
Ŝ
liwe, Servlet 2.3. Ka
Ŝ
dy rozdział został znacz
ą
co
poprawiony w porównaniu z pierwszym wydaniem, a tak
Ŝ
e dodano sze
ść
nowych rozdziałów opisuj
ą
cych
techniki tworzenia zawarto
ś
ci opartej na serwletach, jak równie
Ŝ
nowy rozdział siódmy, „Serwlety korporacyjne
i J2EE”, który opisuje integracj
ę
serwletów w platformie J2EE.
Ze wzgl
ę
du na znacz
ą
cy wpływ modelu aplikacji WWW na wszystkie aspekty programowania serwletów,
poleca si
ę
czytelnikom pierwszego wydania przeczytanie ka
Ŝ
dego interesuj
ą
cego ich rozdziału oraz zwrócenie
uwagi na nowe mechanizmy, które pozwalaj
ą
na wykonanie tradycyjnych zada
ń
. Czytelnicy dysponuj
ą
cy
ograniczonym czasem powinni przejrze
ć
list
ę
najbardziej znacz
ą
cych zmian w podrozdziale „Organizacja”.
Czytelnicy
Dla kogo jest ta ksi
ąŜ
ka? Dla osób zainteresowanych tworzeniem aplikacji umieszczanych w sieci WWW.
Dokładniej rzecz bior
ą
c, niniejsz
ą
ksi
ąŜ
k
ą
powinni zainteresowa
ć
si
ę
:
Programi
ś
ci J2EE — serwlety s
ą
integraln
ą
cz
ęś
ci
ą
standardu Java 2, Enterpise Edition. Programi
ś
ci
tworz
ą
cy aplikacje dla serwerów J2EE mog
ą
nauczy
ć
si
ę
jak najlepiej zintegrowa
ć
serwlety z innymi
podobnymi technologiami.
·
·
Programi
ś
ci JSP — JavaServer Pages (JSP) tworzone s
ą
na podstawie serwletów. Wykorzystanie pełnej
mocy JSP wymaga zrozumienia serwletów, co te
Ŝ
umo
Ŝ
liwia niniejsza ksi
ąŜ
ka. Zawiera ona równie
Ŝ
samouczek JSP oraz czterech podstawowych konkurencyjnych technologii.
·
Programi
ś
ci apletów Javy — porozumiewanie si
ę
apletów z serwerem zawsze sprawiało problemy.
Serwlety ułatwiaj
ą
to zadanie poprzez dostarczenie apletom prostego w poł
ą
czeniu agenta na serwerze.
·
Programi
ś
ci CGI — CGI jest popularn
ą
metod
ą
rozszerzania funkcjonalno
ś
ci serwera WWW. Serwlety
s
ą
eleganck
ą
i wydajn
ą
alternatyw
ą
tej techniki.
·
Programi
ś
ci innych technik serwerów — istnieje wiele alternatyw dla CGI, mi
ę
dzy innymi FastCGI,
PHP, NSAPI, WAI, ISPAI, ASP, a teraz ASP+. Ka
Ŝ
da z nich posiada ograniczenia zwi
ą
zane z
przeno
ś
no
ś
ci
ą
, bezpiecze
ń
stwem, wydajno
ś
ci
ą
i/lub integracj
ą
z innymi
ź
ródłami danych. Serwlety
przewy
Ŝ
szaj
ą
je w ka
Ŝ
dym z tych obszarów.
Co nale
Ŝ
y wiedzie
ć
Podczas rozpoczynania pracy z niniejsz
ą
ksi
ąŜ
k
ą
, niespodziank
ą
dla autorów okazało si
ę
,
Ŝ
e jedn
ą
z
najtrudniejszych do okre
ś
lenia rzeczy jest docelowy czytelnik. Czy zna on Jav
ę
? Czy ma do
ś
wiadczenie w
programowaniu CGI lub innych aplikacji WWW? Czy miał ju
Ŝ
kontakt z serwletami? Czy zna HTTP i HTML,
czy te skróty brzmi
ą
dla niego zupełnie niezrozumiale? Niezale
Ŝ
nie od przyjmowanego poziomu do
ś
wiadczenia,
zawsze okazywało si
ę
,
Ŝ
e ksi
ąŜ
ka b
ę
dzie zbyt uproszczona dla jednych u
Ŝ
ytkowników, a zbyt zaawansowana dla
drugich.
Ostatecznie zdecydowano si
ę
na zasad
ę
,
Ŝ
e niniejsza ksi
ąŜ
ka powinna zawiera
ć
w przewa
Ŝ
aj
ą
cej cz
ęś
ci materiał
oryginalny — mo
Ŝ
na pomin
ąć
obszerne opisy tematów i koncepcji dobrze opisanych w sieci lub innych
ksi
ąŜ
kach. W tek
ś
cie znale
źć
mo
Ŝ
na odwołania do tych zewn
ę
trznych
ź
ródeł informacji.
Oczywi
ś
cie zewn
ę
trzne
ź
ródła informacji nie s
ą
wystarczaj
ą
ce. Niniejsza ksi
ąŜ
ka zakłada,
Ŝ
e czytelnicy dobrze
znaj
ą
j
ę
zyk Java oraz podstawowe techniki programowania obiektowego. Je
Ŝ
eli nie spełnia si
ę
tych zało
Ŝ
e
ń
,
polecane jest przygotowanie si
ę
poprzez przeczytanie ogólnej ksi
ąŜ
ki na temat programowania w Javie, takiej
jak „
Learning Java
” autorstwa Patricka Niemeyera i Jonathana Knudsena (O'Reilly). W ksi
ąŜ
ce tej mo
Ŝ
na
jedynie krótko zapozna
ć
si
ę
z rozdziałami na temat apletów i programowania Swing (graficznego), a skupi
ć
si
ę
na sieci i programowaniu wielow
ą
tkowym. Aby zacz
ąć
od razu nauk
ę
serwletów i uczy
ć
si
ę
Javy w trakcie,
polecane jest przeczytanie niniejszej ksi
ąŜ
ki równocze
ś
nie z „
Java in a Nutshell
” autorstwa Davida Flanagana
(O'Reilly) lub innym podr
ę
cznikiem.
Niniejsza ksi
ąŜ
ka nie wymaga od czytelników do
ś
wiadczenia w programowaniu WWW, HTTP i HTML. Nie
zawiera jednak pełnego wprowadzenia lub wyczerpuj
ą
cego opisu tych technologii. Opisane zostan
ą
podstawy
potrzebne do efektywnego programowania serwletów, a szczegóły (takie jak pełna lista znaczników HTML i
nagłówków HTTP 1.1) pozostawione zostan
ą
innym
ź
ródłom.
Przykłady
W niniejszej ksi
ąŜ
ce znale
źć
mo
Ŝ
na ponad 100 przykładów serwletów. Ich kod jest całkowicie zawarty
wewn
ą
trz tekstu, mo
Ŝ
liwe jest jednak tak
Ŝ
e pobranie przykładów zamiast r
ę
cznego ich wpisywania. Kod
przykładów, spakowany i gotowy do pobrania, mo
Ŝ
na znale
źć
pod adresem
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • red-hacjenda.opx.pl