Tải bản đầy đủ (.pdf) (74 trang)

Head First Servlets and JSP phần 9 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.85 MB, 74 trang )


FKDSWHU
5MUWZQbQVO\PM-2*ZMTI\ML,,\IO[
4HISEXAMISABOUTWEBCOMPONENTSNOTBUSINESSCOMPONENTSALTHOUGHINTHE
0ATTERNSCHAPTERYOULLSEEAFEWTHINGSABOUTBUSINESSCOMPONENTS"UTIFYOURE
DEPLOYINGA*%%APPCOMPLETEWITH%NTERPRISE*AVA"EANS%*"SINTHEBUSINESS
TIERSOMEOFYOURWEBCOMPONENTSWILLPROBABLYNEEDTOLOOKUPANDACCESSTHE
ENTERPRISEBEANS)FYOUREDEPLOYINGANAPPINAFULL*%%COMPLIANT#ONTAINER
ONETHATHASAN%*"#ONTAINERASWELLYOUCANDElNEREFERENCESTO%*"SINTHE
$$9OUDONTHAVETOKNOWANYTHINGABOUT%*"SFORTHISEXAMOTHERTHANWHATYOU
DECLAREINTHE$$SOWEWONTWASTEYOURTIMEEXPLAININGITHERE
"UTIFYOUREINTERESTEDIN%*"THERESTHISREALLYGOODBOOK
HMEORFDOUHI!
HMEUHIQDPH!HME&XVWRPHUHMEUHIQDPH!
HMEUHIW\SH!(QWLW\HMEUHIW\SH!
ORFDOKRPH!FRPZLFNHGO\VPDUW&XVWRPHU+RPHORFDOKRPH!
ORFDO!FRPZLFNHGO\VPDUW&XVWRPHUORFDO!
HMEORFDOUHI!
5HIHUHQFHWRDORFDOEHDQ
-90
6HUYOHW
$/2&$/EHDQPHDQVWKHFOLHQWLQ
WKLVFDVHDVHUYOHWDQGWKHEHDQ
PXVW
EHUXQQLQJLQWKHVDPH-90
$5(027(EHDQPHDQVWKHFOLHQWLQ
WKLVFDVHDVHUYOHWDQGWKHEHDQFDQ
EHUXQQLQJLQGLIIHUHQW-90VSRVVLEO\
RQGLIIHUHQWSK\VLFDOPDFKLQHVDVZHOO
HMEUHI!
HMEUHIQDPH!HME/RFDO&XVWRPHUHMEUHIQDPH!


HMEUHIW\SH!(QWLW\HMEUHIW\SH!
KRPH!FRPZLFNHGO\VPDUW&XVWRPHU+RPHKRPH!
UHPRWH!FRPZLFNHGO\VPDUW&XVWRPHUUHPRWH!
HMEUHI!
5HIHUHQFHWRDUHPRWHEHDQ
-90
6HUYOHW
-90
(Optional sub-elements for both tags include
<description> and <ejb-link>, but you donÕt
need to know that for the exam.)
These must be fully-qualiÞed names
of the beanÕs exposed interfaces.
The JNDI lookup name
youÕll use in code.
FRQ¿JXULQJ(-%UHIHUHQFHV
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSGHSOR\PHQW
\RXDUHKHUH


%RWKWKHORFDODQGUHPRWHEHDQ''WDJVKDYHWZRHOHPHQWV
WKDWDUHWKHVDPH
7KHHMEUHIQDPH!WKDWOLVWVWKHORJLFDOORRNXSQDPH

\RX¶OOXVHLQFRGHWRSHUIRUPD-1',ORRNXSRQDQHQWHU
SULVHEHDQ¶VKRPHLQWHUIDFH'RQ¶WZRUU\LI\RXKDYHQ¶W
XVHG(-%VEHIRUHDQGGRQ¶WNQRZZKDWWKDWODVWVHQWHQFH
PHDQV²\RXGRQ¶WQHHG(-%NQRZOHGJHIRUWKLVH[DP
7KHHMEUHIW\SH!GHVFULEHVZKHWKHUWKLVLVDQ(QWLW\RU6HV
VLRQEHDQ7KRVHWZRHOHPHQWVWKHORRNXSQDPHDQGWKH
EHDQW\SHGRQ¶WGHSHQGRQZKHWKHUWKHEHDQLVORFDOUXQ
QLQJLQWKHVDPH-90DVWKHZHEFRPSRQHQWRUUHPRWH
SRWHQWLDOO\UXQQLQJLQDGLIIHUHQW-90
%XWORRNDWWKHRWKHUHOHPHQWVVWDUWLQJZLWKWKHRXWHUWDJV
HMEORFDOUHI!DQGHMEUHI!<RXPLJKWEHWHPSWHGWRWKLQN
WKDWLW¶V
HME
ORFDO
UHI!
HME
UHPRWH
UHI!
%XW12)RUUHPRWHEHDQVLW¶VMXVW
HMEUHI!
,QRWKHUZRUGVWKHORFDOUHIHUHQFHVD\VLW¶VORFDOEXWWKH
UHPRWHUHIHUHQFHGRHV127LQFOXGHWKHZRUG³UHPRWH´LQLWV
WDJHOHPHQWQDPH:K\"%HFDXVHDWWKHWLPHHMEUHI!ZDV
¿UVWGH¿QHGWKHUHZDVQRVXFKWKLQJDV³ORFDO´(-%V6LQFH
$//HQWHUSULVHEHDQVZHUH³UHPRWH´WKHUHZDVQRQHHGWR
GLIIHUHQWLDWHEHWZHHQORFDODQGUHPRWHVRQRQHHGWRSXW
³UHPRWH´LQWKHQDPHRIWKHWDJ
7KLVDOVRH[SODLQVWKH27+(5WDJQDPLQJLQFRQVLVWHQF\²
WKHQDPHRIWKHWDJIRUWKHEHDQ¶VKRPHLQWHUIDFH$ORFDO
EHDQXVHV


ORFDO
KRPH!
EXWDUHPRWHEHDQGRHV127XVH

UHPRWH
KRPH!
)RUUHPRWHEHDQVLW¶VMXVW
KRPH!
7KH/2&$/DQG5(027(
WDJVDUHLQFRQVLVWHQW
yes
Wrong!!
Right! ThereÕs no ÒremoteÓ in the tag.
Yes
Wrong!!
PR
UHPRW
UHPRW
PR
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
5MUWZQbQVO\PM26,1$MV^MV\Za&,,\IO

)FYOUREFAMILIARWITH%*"ANDOR*.$)THISWILLMAKESENSE)FYOURE
NOTITDOESNTREALLYMATTERFORTHEEXAMASLONGASYOUMEMORIZETHE
TAG4HEDETAILSSURROUNDING*.$)ENVIRONMENTENTRIESARECOVEREDIN
%*"*%%BOOKSLIKETHELOVELY(EAD&IRST%*"
4HINKOFANENVIRONMENTENTRYASBEINGSOMETHINGLIKEADEPLOYTIME
CONSTANTTHATYOURAPPCANUSEMUCHLIKESERVLETANDCONTEXTINIT
PARAMETERS)NOTHERWORDSAWAYFORTHEDEPLOYERTOPASSVALUESINTO
THESERVLETORINTHISCASEAN%*"ASWELLIFTHISISDEPLOYEDASPARTOFAN
ENTERPRISEAPPLICATIONINAFULLY*%%COMPLIANTSERVER
!TDEPLOYTIMETHE#ONTAINERREADSTHE$$ANDMAKESA*.$)ENTRY
AGAINASSUMINGTHISISAFULLY*%%COMPLIANTAPPANDNOTJUSTASERVER
WITHONLYAWEB#ONTAINERUSINGTHENAMEANDVALUEYOUSUPPLYINTHIS
$$TAG!TRUNTIMEACOMPONENTINTHEAPPLICATIONCANLOOKUPTHE
VALUEIN*.$)USINGTHENAMELISTEDINTHE$$9OUPROBABLYWONTCARE
ABOUTENVENTRYUNLESSYOUREALSODEVELOPINGWITH%*"SSOTHEONLY
REASONYOUNEEDTOMEMORIZETHISISFORTHEEXAM
HQYHQWU\!
HQYHQWU\QDPH!UDWHVGLVFRXQW5DWHHQYHQWU\QDPH!
HQYHQWU\
W\SH!MDYDODQJ,QWHJHUHQYHQWU\W\SH!
HQYHQWU\
YDOXH!HQYHQWU\YDOXH!
HQYHQWU\!
'HFODULQJDQDSS·V-1',HQYLURQPHQWHQWU\
The lookup name youÕll use in code.
This can be any type that takes
a single String as a constructor
parameter (or a single Character if
itÕs java.lang.Character).
This will be passed in as a String (or a

single Character if the <env-entry-type>
is java.lang.Character).
Note: you can also include an
optional <description>, which is a
REALLY REALLY good idea.

:KHQ\RXVHHDQHQYHQWU\YDOXH!WKDW¶VDQLQWHJHU
YDOXHOLNHWKHH[DPSOHDERYH\RXPLJKWWKLQNWKDWWKH
HQYHQWU\W\SH!FDQEHDSULPLWLYH%XWWKDWZRXOGEH
ZURQJ
<RXDOVRPLJKWEHWHPSWHGWRWKLQNWKDW\RXFDQKDYH
RQO\6WULQJVDQGZUDSSHUVEXWWKDW¶VZURQJWRR²\RX
FDQXVHDQ\W\SHWKDWWDNHVDVLQJOH6WULQJLQLWV
FRQVWUXFWRURUDVLQJOH&KDUDFWHUIRUD&KDUDFWHUW\SH
7KHHQYHQWU\W\SH!PXVW
127EHDSULPLWLYH
FRQ¿JXULQJWKHHQYHQWU\!
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSGHSOR\PHQW
\RXDUHKHUH

5MUWZQbQVO\PM$UQUMUIXXQVO&,,\IO
9OUCANCONlGUREAMAPPINGBETWEENANEXTENSIONANDAMIMETYPEINTHE
$$4HISWILLPROBABLYBETHEEASIESTTAGTOREMEMBERBECAUSEITJUSTMAKES

SENSEYOUMAPBETWEENANEXTENSIONANDAMIMETYPEANDGUESSWHAT)N
ARAREMOMENTOFSIMPLICITYANDCLARITYTHEYNAMEDTHETAGSUBELEMENTS
hEXTENSIONvANDhMIMETYPEv4HATMEANSYOUHAVETOREMEMBERONLYONE
THINGTHATTHETAGELEMENTSARENAMEDFOREXACTLYWHATTHEYARE
5NLESSYOUSTARTTHINKINGOFITAShlLETYPEvANDhCONTENTTYPEv"UTNOYOU
WONTDOTHAT9OULLMEMORIZEITJUSTLIKETHIS
PLPHPDSSLQJ!
H[WHQVLRQ!PSJH[WHQVLRQ!
PLPHW\SH!YLGHRPSHJPLPHW\SH!
PLPHPDSSLQJ!
'HFODULQJDPLPHPDSSLQJ!

,W¶VMXVWWKHFKDUDFWHUVWKDWPDNH
XSWKHH[WHQVLRQQRWWKH³´WKDW
VHSDUDWHVWKH¿OHQDPHIURPWKH
H[WHQVLRQ
'RQ·WLQFOXGH
WKH´µLQWKH
H[WHQVLRQ

%XUQLWLQ²H[WHQVLRQ!DQGPLPHW\SH!
H[WHQVLRQ!DQGPLPHW\SH!
H[WHQVLRQ!DQGPLPHW\SH!
H[WHQVLRQ!DQGPLPHW\SH!
H[WHQVLRQ!DQGPLPHW\SH!
,W·VQRWÀOHW\SH!DQG
FRQWHQWW\SH!
Do NOT include the dot Ò.Ó!
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app

Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
H[HUFLVHRQGHSOR\PHQW
5HVRXUFHW\SH
'HSOR\PHQW'HVFULSWRU
ZHE[PO
7DJ)LOHV
WDJRUWDJ[
'HSOR\PHQWORFDWLRQ
+70/DQG-63V
7KDW\RXZDQWWREH
GLUHFWO\DFFHVVLEOH

7/'V
WOG
6HUYOHWFODVVHV
7DJ+DQGOHUFODVVHV
-$5ILOHV
Directly inside WEB-INF (which is directly inside the root of
the web app).
+70/DQG-63V
7KDW\RXZDQWWR´KLGHµ
IURPGLUHFWFOLHQWDFFHVV
6KDUSHQ \RXU SHQFLO
:KHUHWKLQJVJR

)LOOLQWKLVWDEOHZLWKH[SOLFLWQRWHVRQZKHUHLQWKHZHEDSS
WKHJLYHQUHVRXUFHPXVWEHSODFHG:HGLGWKHILUVWRQHIRU
\RX7XUQWKHSDJHIRUWKHDQVZHUV
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSGHSOR\PHQW
\RXDUHKHUH

 !

!HME&XVWRPHU !
HMEUHIW\SH!(QWLW\HMEUHIW\SH!

!FRPZLFNHGO\VPDUW&XVWRPHU+RPH !
ORFDO!FRPZLFNHGO\VPDUW&XVWRPHUORFDO!

 !
HMEUHI!

!HME/RFDO&XVWRPHU !
HMEUHIW\SH!(QWLW\HMEUHIW\SH!


!FRPZLFNHGO\VPDUW&XVWRPHU+RPH !


!FRPZLFNHGO\VPDUW&XVWRPHU !
HMEUHI!
HUURUSDJH!

!MDYDLR,2([FHSWLRQ !
 !P\HUURUMVS !
HUURUSDJH!
HQYHQWU\!

!UDWHVGLVFRXQW5DWH !

!MDYDODQJ,QWHJHU !
HQYHQWU\
YDOXH!HQYHQWU\YDOXH!
HQYHQWU\!

!
ZHOFRPHILOH!LQGH[KWPOZHOFRPHILOH!

!
6KDUSHQ \RXU SHQFLO
0HPRUL]LQJ''WDJV
,I\RX·UH127SODQQLQJRQWDNLQJWKH
H[DPGRQ·WZRUU\DERXWJHWWLQJDOO
RIWKHVHULJKWDOWKRXJKWKHERWWRP
WZRHOHPHQWVDUHLPSRUWDQWWR
DOPRVWHYHU\RQH
,I\RX$5(JRLQJWRWDNHWKHH[DP
\RXVKRXOGVSHQGVRPHWLPH
PHPRUL]LQJWKHVH

Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
H[HUFLVHRQGHSOR\PHQW
5HVRXUFHW\SH
'HSOR\PHQW'HVFULSWRU
ZHE[PO
7DJ)LOHV
WDJRUWDJ[
'HSOR\PHQWORFDWLRQ
+70/DQG-63V
7KDW\RXZDQWWREH
GLUHFWO\DFFHVVLEOH

7/'V
WOG
6HUYOHWFODVVHV
7DJ+DQGOHUFODVVHV
-$5ILOHV
Directly inside WEB-INF (which is directly inside the root of
the web app).
+70/DQG-63V
7KDW\RXZDQWWR´KLGHµ
IURPGLUHFWFOLHQWDFFHVV

If NOT deployed inside a JAR, Tag Files must be inside WEB-INF/tags, or
a subdirectory of WEB-INF/tags. If deployed in a JAR, Tag Files must
be in META-INF/tags, or a subdirectory of META-INF/tags. Note: Tag
Files deployed in a JAR must have a TLD in the JAR.
Client-accessible HTML and JSPs can be anywhere under the root of the web app
or any of its subdirectories, EXCEPT they cannot be under WEB-INF (including
subdirectories). In a WAR Þle, they canÕt be under META-INF (including subdirectories).
Pages under WEB-INF (or META-INF in a WAR Þle) cannot be directly
accessed by clients.
If NOT inside a JAR, TLD Þles must be somewhere under WEB-INF or
a subdirectory of WEB-INF. If deployed in a JAR, TLD Þles must be
somewhere under META-INF, or a subdirectory of META-INF.
Servlet classes must be in a directory structure matching the package
structure, placed directory under WEB-INF/classes (for example, class com.
example.Ring would be inside WEB-INF/classes/com/example), or in the
appropriate package directories within a JAR inside WEB-INF/lib).
Actually ALL classes used by the web-app (unless theyÕre part of the class
libraries on the classpath) must follow the same rules as servlet classesÑinside
WEB-INF/classes, in a directory structure matching the package (or in the
appropriate package directories within a JAR inside WEB-INF/lib).
JAR Þles must be inside the WEB-INF/lib directory.
6KDUSHQ \RXU SHQFLO
:KHUHWKLQJVJR
)LOOLQWKLVWDEOHZLWKH[SOLFLWQRWHVRQZKHUHLQWKHZHEDSS
WKHUHVRXUFHPXVWEHSODFHG:HGLGWKHILUVWRQHIRU\RX
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior

written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSGHSOR\PHQW
\RXDUHKHUH

ejb-local-ref !

ejb-ref-name !HME&XVWRPHU/ejb-ref-name !
HMEUHIW\SH!(QWLW\HMEUHIW\SH!

local-home !FRPZLFNHGO\VPDUW&XVWRPHU+RPH/local-home !
ORFDO!FRPZLFNHGO\VPDUW&XVWRPHUORFDO!
/ejb-local-ref !
HMEUHI!

ejb-ref-name !HME/RFDO&XVWRPHU/ejb-ref-name !
HMEUHIW\SH!(QWLW\HMEUHIW\SH!


home !FRPZLFNHGO\VPDUW&XVWRPHU+RPH/home !

remote !FRPZLFNHGO\VPDUW&XVWRPHU/remote !
HMEUHI!
HUURUSDJH!

exception-type !MDYDLR,2([FHSWLRQ/exception-type !
location !P\HUURUMVS/location !
HUURUSDJH!
HQYHQWU\!


env-entry-name !UDWHVGLVFRXQW5DWH/env-entry-name !

env-entry-type !MDYDODQJ,QWHJHU/env-entry-type !
HQYHQWU\
YDOXH!HQYHQWU\YDOXH!
HQYHQWU\!

welcome-file-list !
ZHOFRPHILOH!LQGH[KWPOZHOFRPHILOH!

/welcome-file-list !
6KDUSHQ \RXU SHQFLO
0HPRUL]LQJ''WDJV
$16:(56
,I\RXDUHJRLQJWRWDNHWKHH[DP
\RXVKRXOGVSHQGVRPHWLPH
PHPRUL]LQJ$//RIWKHVHSOXVDQ\
RIWKHRWKHUVIURPIURPWKLVFKDSWHU
DQGWKHVHFXULW\UHODWHGWDJV\RX·OO
VHHLQWKHQH[WFKDSWHU
A reference to a bean that
has a ÒlocalÓ interface.
A reference to a bean that
has a ÒremoteÓ interface.
An environment entry is
a way to get deploy-time
constants into a J2EE
application.
Tells the Container which page
to show when the speciÞed

<exception-type> occurs.
Tells the Container which page
to look for when a request comes
in that doesnÕt match a speciÞc
resource. There can be more than
one <welcome-Þle> speciÞed in
the <welcome-Þle-list>.
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
7HERECANLQLWSDUDP!ELEMENTSAPPEARINTHE$$
#HOOSEALLTHATAPPLY
R!!SCHILDELEMENTSOFVHUYOHW!
R"!SDIRECTDESCENDANTSOFZHEDSSOLFDWLRQ!ELEMENTS
R#*USTAFTERTHE$OCUMENT4YPE$ECLARATION
R$)NSIDEOFFRQWH[WSDUDP!ELEMENTSWHENYOUWANTTO
DECLAREACONTEXTINITIALIZATIONPARAMETER

0RFN([DP&KDSWHU


7HEREDOYOUSTORE4AG,IBRARY$ESCRIPTORS4,$SINAWEBAPPLICATION
#HOOSEALLTHATAPPLY
R!/NLYIN:(%,1)OLE

R"/NLYIN:(%,1)FODVVHV
R#)NTHE0(7$,1)DIRECTORYOFA*!2lLEINSIDE
:(%,1)OLE
R$!TTHEAPPLICATIONSTOPLEVELDIRECTORY
R%)N:(%,1)ORASUBDIRECTORYTHEREOF


7HICHSTATEMENTSABOUT7!2lLESARETRUE#HOOSEALLTHATAPPLY
R!7!2STANDSFOR7EB!PPLICATION2ESOURCESlLE
R"!VALID7!2lLEMUSTCONTAINADEPLOYMENTDESCRIPTOR
R#3EVERAL7!2lLESCANCOMPOSEAWEBAPPLICATION
R$!7!2lLECANNOTCONTAINEMBEDDED*!2lLES

PRFNH[DP
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSGHSOR\PHQW
\RXDUHKHUH

4HEFOLLOWINGSERVLETISDECLAREDINTHE$$
VHUYOHW!
VHUYOHWQDPH!0\6HUYOHWVHUYOHWQDPH!
VHUYOHWFODVV!FRPP\RUJ6HUYOHW&ODVVVHUYOHWFODVV!
VHUYOHW!
7HERECANYOUSTORETHESERVLETCLASSINTHEWEBAPPLICATION#HOOSEALLTHAT

APPLY
R!)N0(7$,1)OFA*!2lLE
R")NTHEPACKAGERELATEDDIRECTORYTREEBEGININGATTHETOPLEVELOFTHE
APPLICATIONDIRECTORY
R#)N:(%,1)FODVVHVORINA*!2lLEIN:(%,1)OLE
R$)N:(%,1)OLEOUTSIDEOFA*!2lLE

7HATISTHEPURPOSEOFTHEDEPLOYMENTDESCRIPTOR$$#HOOSEALLTHAT
APPLY
R!4OALLOWCODEGENERATIONTOOLSTODYNAMICALLYCREATESERVLETSFROMAN
8-,lLE
R"4OCONVEYTHEWEBAPPLICATIONCONlGURATIONINFORMATIONFROM
DEVELOPERSTOAPPLICATIONASSEMBLERSANDDEPLOYERS
R#4OCONlGUREVENDORSPECIlCASPECTSOFTHEAPPLICATION
R$4OCONlGUREONLYDATABASEAND%NTERPRISE*AVA"EANACCESSFROMTHE
WEBAPPLICATION


7HERESHOULDZHE[POBESTOREDINA7!2lLE#HOOSEALLTHATAPPLY
R!)N:(%,1)FODVVHV
R")N:(%,1)OLE
R#)N:(%,1)
R$)N0(7$,1)



Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.

This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
'IVEN
#SDJHLPSRUW ´MDYDXWLO´!
MVSLPSRUWLPSRUW ´MDYDXWLO´!
MVSGLUHFWLYHSDJHLPSRUW ´MDYDXWLO´!
MVSSDJHLPSRUW ´MDYDXWLO´!
!SSUMETHEPRElXhJSPvHASBEENMAPPEDTOTHENAMESPACE
KWWSMDYDVXQFRP-633DJH
7HICHARETRUE#HOOSEALLTHATAPPLY
R!,INESANDAREEQUIVALENTINANYTYPEOF*30PAGE
R",INEISNOTVALIDINA*30DOCUMENT8-,BASEDDOCUMENT
R#,INEWILLPROPERLYIMPORTTHEMDYDXWLOPACKAGE
R$,INEWILLPROPERLYIMPORTTHEMDYDXWLOPACKAGE
R%,INEWILLPROPERLYIMPORTTHEMDYDXWLOPACKAGE

7HICHSTATEMENTSABOUTLQLWSDUDP!$$ELEMENTSARETRUE
#HOOSEALLTHATAPPLY
R!4HEYAREUSEDTODECLAREINITIALIZATIONPARAMETERSFORA
SPECIlCSERVLET
R"4HEYAREUSEDTODECLAREINITIALIZATIONPARAMETERSFORAN
ENTIREWEBAPP
R#4HEMETHODTHATRETRIEVESTHESEPARAMETERSRETURNSAN
OBJECT
R$4HEMETHODTHATRETRIEVESTHESEPARAMETERSTAKESA3TRING





7HICHARE$$ELEMENTSTHATPROVIDE*.$)ACCESSTO*%%COMPONENTS
#HOOSEALLTHATAPPLY
R!HMEUHI!
R"HQWLW\UHI!
R#UHVRXUFHUHI!
R$VHVVLRQUHI!
R%PHVVDJHUHI!


PRFNH[DP
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSGHSOR\PHQW
\RXDUHKHUH

4HEFOLLOWINGSERVLETISREGISTEREDINTHE$$
VHUYOHW!
VHUYOHWQDPH!DFWLRQVHUYOHWQDPH!
VHUYOHWFODVV!FRPP\RUJ$FWLRQ&ODVVVHUYOHWFODVV!
VHUYOHW!
#HOOSETHECORRECTMAPPINGSFORTHISSERVLET#HOOSEALLTHATAPPLY
R!VHUYOHWPDSSLQJ!
VHUYOHWQDPH!DFWLRQVHUYOHWQDPH!

XUOSDWWHUQ!GRXUOSDWWHUQ!
VHUYOHWPDSSLQJ!
R"VHUYOHWPDSSLQJ!
VHUYOHWQDPH!FRPP\RUJ$FWLRQ&ODVVVHUYOHWQDPH!
XUOSDWWHUQ!GRXUOSDWWHUQ!
VHUYOHWPDSSLQJ!
R#VHUYOHWPDSSLQJ!
VHUYOHWQDPH!DFWLRQVHUYOHWQDPH!
XUOSDWWHUQ!FRQWUROOHUXUOSDWWHUQ!
VHUYOHWPDSSLQJ!
R$VHUYOHWPDSSLQJ!
XUOSDWWHUQ!GRXUOSDWWHUQ!
VHUYOHWPDSSLQJ!
R%VHUYOHWPDSSLQJ!
VHUYOHWQDPH!DFWLRQVHUYOHWQDPH!
VHUYOHWPDSSLQJ!

&ORWHICHTYPEOFWEBAPPCOMPONENTSCANDEPENDENCIESBEDElNED
#HOOSEALLTHATAPPLY
R!*30lLES
R"7!2lLES
R#CLASSES
R$LIBRARIES
R%MANIFESTlLES


Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.

This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
7HICHDEPLOYMENTDESCRIPTORELEMENTSMAYAPPEARBEFORETHEZHEDSS!
ELEMENT#HOOSEALLTHATAPPLY
R!OLVWHQHU!
R"FRQWH[WSDUDP!
R#VHUYOHW!
R$.O8-,ELEMENTSMAYAPPEARBEFORETHEZHEDSS!ELEMENT

7HICHSTATEMENTSCONCERNINGTHECONTAINERCLASSLOADERARETRUE
#HOOSEALLTHATAPPLY
R!7EBAPPLICATIONSSHOULD./4ATTEMPTTOOVERRIDECONTAINER
IMPLEMENTATIONCLASSES
R"!WEBAPPLICATIONMUSTNOTATTEMPTTOLOADRESOURCESFROM
WITHINTHE7!2lLEUSINGTHE*3%SEMANTICSOFGET2ESOURCE
R#!WEBAPPLICATIONMAYOVERRIDEANY*%%CLASSESINTHEJAVAX
NAMESPACE
R$!WEBDEVELOPERMAYOVERRIDE*%%PLATFORMCLASSESPROVIDED
THEYARECONTAINEDINALIBRARY*!2WITHINA7!2

7HICHAREVALIDDECLARATIONSINA*30$OCUMENT8-,BASEDDOCUMENT
#HOOSEALLTHATAPPLY
R!MVSGHFODUDWLRQ
[POQVMVS ´KWWSMDYDVXQFRP-633DJH´!
LQW[ 
MVSGHFODUDWLRQ!
R"MVSGHFODUDWLRQ

[POQVMVS ´KWWSMDYDVXQFRP-633DJH´!
LQW[
MVSGHFODUDWLRQ!
R#LQW[ !
R$LQW[!

PRFNH[DP
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSGHSOR\PHQW
\RXDUHKHUH

7HERECANLQLWSDUDP!ELEMENTSAPPEARINTHE$$
#HOOSEALLTHATAPPLY
R!!SCHILDELEMENTSOFVHUYOHW!
R"!SDIRECTDESCENDANTSOFZHEDSSOLFDWLRQ!ELEMENTS
R#*USTAFTERTHE$OCUMENT4YPE$ECLARATION
R$)NSIDEOFFRQWH[WSDUDP!ELEMENTSWHENYOUWANTTO
DECLAREACONTEXTINITIALIZATIONPARAMETER

&KDSWHU$QVZHUV


7HEREDOYOUSTORE4AG,IBRARY$ESCRIPTORS4,$SINAWEBAPPLICATION
#HOOSEALLTHATAPPLY

R!/NLYIN:(%,1)OLE
R"/NLYIN:(%,1)FODVVHV
R#)NTHE0(7$,1)DIRECTORYOFA*!2lLEINSIDE
:(%,1)OLE
R$!TTHEAPPLICATIONSTOPLEVELDIRECTORY
R%)N:(%,1)ORASUBDIRECTORYTHEREOF

(JSP spec pg 196)
-The container will not automatically
discover TLDs if they are in
/WEB-INF/classes or /WEB-INF/lib.
(Servlet spec pg 107)
-Option B is incorrect because
web.xml does not contain an
element named <web-application>.
- Option D is incorrect because
<context-param> elements do
not contain <init-param>.

7HICHSTATEMENTSABOUT7!2lLESARETRUE#HOOSEALLTHATAPPLY
R!7!2STANDSFOR7EB!PPLICATION2ESOURCESlLE
R"!VALID7!2lLEMUSTCONTAINADEPLOYMENTDESCRIPTOR
R#3EVERAL7!2lLESCANCOMPOSEAWEBAPPLICATION
R$!7!2lLECANNOTCONTAINEMBEDDED*!2lLES

(servlet spec 9.5 & 9.6)
-WAR stands for Web ARchive,
and portions of a web application
cannot be contained in a WAR
Þle; only an entire application can

reside within a WAR Þle.
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
4HEFOLLOWINGSERVLETISDECLAREDINTHE$$
VHUYOHW!
VHUYOHWQDPH!0\6HUYOHWVHUYOHWQDPH!
VHUYOHWFODVV!FRPP\RUJ6HUYOHW&ODVVVHUYOHWFODVV!
VHUYOHW!
7HERECANYOUSTORETHESERVLETCLASSINTHEWEBAPPLICATION#HOOSEALLTHAT
APPLY
R!)N0(7$,1)OFA*!2lLE
R")NTHEPACKAGERELATEDDIRECTORYTREEBEGININGATTHETOPLEVELOFTHE
APPLICATIONDIRECTORY
R#)N:(%,1)FODVVHVORINA*!2lLEIN:(%,1)OLE
R$)N:(%,1)OLEOUTSIDEOFA*!2lLE

(Servlet spec p 70)
-Option D is not correct because /WEB-INF/lib
is designed as the container for JAR Þles.
7HATISTHEPURPOSEOFTHEDEPLOYMENTDESCRIPTOR$$#HOOSEALLTHAT
APPLY
R!4OALLOWCODEGENERATIONTOOLSTODYNAMICALLYCREATESERVLETSFROMAN
8-,lLE

R"4OCONVEYTHEWEBAPPLICATIONCONlGURATIONINFORMATIONFROM
DEVELOPERSTOAPPLICATIONASSEMBLERSANDDEPLOYERS
R#4OCONlGUREVENDORSPECIlCASPECTSOFTHEAPPLICATION
R$4OCONlGUREONLYDATABASEAND%NTERPRISE*AVA"EANACCESSFROMTHE
WEBAPPLICATION

(Servlet spec p 103)
-Option D is inaccurate
because these concerns
are just a subset of the
DDÕs purpose.

7HERESHOULDZHE[POBESTOREDINA7!2lLE#HOOSEALLTHATAPPLY
R!)N:(%,1)FODVVHV
R")N:(%,1)OLE
R#)N:(%,1)
R$)N0(7$,1)



(Servlet spec p 70)
-web.xml should be stored in /WEB-INF
regardless of whether the deployment
involves a WAR or an exploded directory
structure.
PRFNDQVZHUV
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.

This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSGHSOR\PHQW
\RXDUHKHUH


7HICHSTATEMENTSABOUTLQLWSDUDP!$$ELEMENTSARETRUE
#HOOSEALLTHATAPPLY
R!4HEYAREUSEDTODECLAREINITIALIZATIONPARAMETERSFORA
SPECIlCSERVLET
R"4HEYAREUSEDTODECLAREINITIALIZATIONPARAMETERSFORAN
ENTIREWEBAPP
R#4HEMETHODTHATRETRIEVESTHESEPARAMETERSRETURNSAN
OBJECT
R$4HEMETHODTHATRETRIEVESTHESEPARAMETERSTAKESA3TRING



(servlet spec SRV.B & API)
-Initialization parameters can
have web app scope or servlet
scope. Those with servlet
scope are named <init-param>
in the DD, and take and
return a String. Those with
web app scope are named
<context-param> in the DD
and also take and return a
String.


7HICHARE$$ELEMENTSTHATPROVIDE*.$)ACCESSTO*%%COMPONENTS
#HOOSEALLTHATAPPLY
R!HMEUHI!
R"HQWLW\UHI!
R#UHVRXUFHUHI!
R$VHVVLRQUHI!
R%PHVVDJHUHI!

(servlet spec 9.11)
-In addition, <ejb-local-ref> also provides
the web app creator with a JNDI reference
to J2EE components.
'IVEN
#SDJHLPSRUW ´MDYDXWLO´!
MVSLPSRUWLPSRUW ´MDYDXWLO´!
MVSGLUHFWLYHSDJHLPSRUW ´MDYDXWLO´!
MVSSDJHLPSRUW ´MDYDXWLO´!
!SSUMETHEPRElXhJSPvHASBEENMAPPEDTOTHENAMESPACE
KWWSMDYDVXQFRP-633DJH
7HICHARETRUE#HOOSEALLTHATAPPLY
R!,INESANDAREEQUIVALENTINANYTYPEOF*30PAGE
R",INEISNOTVALIDINA*30DOCUMENT8-,BASEDDOCUMENT
R#,INEWILLPROPERLYIMPORTTHEMDYDXWLOPACKAGE
R$,INEWILLPROPERLYIMPORTTHEMDYDXWLOPACKAGE
R%,INEWILLPROPERLYIMPORTTHEMDYDXWLOPACKAGE

(JSP v2.0 pg. 1-139)
-Option A is incorrect because line 10
would be invalid in a JSP Document

(XML-based document).
-Options C and E are invalid as
they are not valid elements in the

namespace.
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
4HEFOLLOWINGSERVLETISREGISTEREDINTHE$$
VHUYOHW!
VHUYOHWQDPH!DFWLRQVHUYOHWQDPH!
VHUYOHWFODVV!FRPP\RUJ$FWLRQ&ODVVVHUYOHWFODVV!
VHUYOHW!
#HOOSETHECORRECTMAPPINGSFORTHISSERVLET#HOOSEALLTHATAPPLY
R!VHUYOHWPDSSLQJ!
VHUYOHWQDPH!DFWLRQVHUYOHWQDPH!
XUOSDWWHUQ!GRXUOSDWWHUQ!
VHUYOHWPDSSLQJ!
R"VHUYOHWPDSSLQJ!
VHUYOHWQDPH!FRPP\RUJ$FWLRQ&ODVVVHUYOHWQDPH!
XUOSDWWHUQ!GRXUOSDWWHUQ!
VHUYOHWPDSSLQJ!
R#VHUYOHWPDSSLQJ!
VHUYOHWQDPH!DFWLRQVHUYOHWQDPH!

XUOSDWWHUQ!FRQWUROOHUXUOSDWWHUQ!
VHUYOHWPDSSLQJ!
R$VHUYOHWPDSSLQJ!
XUOSDWWHUQ!GRXUOSDWWHUQ!
VHUYOHWPDSSLQJ!
R%VHUYOHWPDSSLQJ!
VHUYOHWQDPH!DFWLRQVHUYOHWQDPH!
VHUYOHWPDSSLQJ!

-Option B is incorrect because it
confuses the servlet name with the
servlet class.
&ORWHICHTYPEOFWEBAPPCOMPONENTSCANDEPENDENCIESBEDElNED
#HOOSEALLTHATAPPLY
R!*30lLES
R"7!2lLES
R#CLASSES
R$LIBRARIES
R%MANIFESTlLES


(servlet spec 9.7.1)
- Libraries dependencies can be deÞned in
the /META-INF/MANIFEST.MF Þle.
-Option D is incorrect because it
omits the <servlet-name> child
element of <servlet-mapping>.
(servlet spec pg 86)
PRFNDQVZHUV
Chapter 11. Deploying your web app

Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSGHSOR\PHQW
\RXDUHKHUH

7HICHDEPLOYMENTDESCRIPTORELEMENTSMAYAPPEARBEFORETHEZHEDSS!
ELEMENT#HOOSEALLTHATAPPLY
R!OLVWHQHU!
R"FRQWH[WSDUDP!
R#VHUYOHW!
R$.O8-,ELEMENTSMAYAPPEARBEFORETHEZHEDSS!ELEMENT

(Servlet spec, p 107)
-The <web-app> element is the root element
of the web application deployment descriptor.
7HICHSTATEMENTSCONCERNINGTHECONTAINERCLASSLOADERARETRUE
#HOOSEALLTHATAPPLY
R!7EBAPPLICATIONSSHOULD./4ATTEMPTTOOVERRIDECONTAINER
IMPLEMENTATIONCLASSES
R"!WEBAPPLICATIONMUSTNOTATTEMPTTOLOADRESOURCESFROM
WITHINTHE7!2lLEUSINGTHE*3%SEMANTICSOFGET2ESOURCE
R#!WEBAPPLICATIONMAYOVERRIDEANY*%%CLASSESINTHEJAVAX
NAMESPACE
R$!WEBDEVELOPERMAYOVERRIDE*%%PLATFORMCLASSESPROVIDED
THEYARECONTAINEDINALIBRARY*!2WITHINA7!2


(Servlet spec, 9.7.2)
7HICHAREVALIDDECLARATIONSINA*30$OCUMENT8-,BASEDDOCUMENT
#HOOSEALLTHATAPPLY
R!MVSGHFODUDWLRQ
[POQVMVS ´KWWSMDYDVXQFRP-633DJH´!
LQW[ 
MVSGHFODUDWLRQ!
R"MVSGHFODUDWLRQ
[POQVMVS ´KWWSMDYDVXQFRP-633DJH´!
LQW[
MVSGHFODUDWLRQ!
R#LQW[ !
R$LQW[!

(JSP v2.0 pg. 1-139)
-Options C and D are incorrect
because only the <jsp:declaration>
syntax is valid in JSP Documents.
-Option B is incorrect because the
webapp may use the getResource
method from the webappÕs class
loader to access any WAR Þle.
-Options C & D are incorrect
because the webapp must NOT
override any class in the java.*
or javax.* namespaces.
Chapter 11. Deploying your web app
Chapter 11. Deploying your web app
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.

This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
WKLVLVDQHZFKDSWHU

<RXUZHEDSSLVLQ
GDQJHU
7URXEOHOXUNVLQHYHU\FRUQHURIWKH
QHWZRUNDVFUDFNHUVVFDPPHUVDQGFULPLQDOVWU\WREUHDNLQWR\RXUV\VWHP
WRVWHDOWDNHDGYDQWDJHRUMXVWKDYHDOLWWOHIXQZLWK\RXUVLWH<RXGRQ¶WZDQW
WKH%DG*X\VOLVWHQLQJLQWR\RXURQOLQHVWRUHWUDQVDFWLRQVSLFNLQJRIIFUHGLW
FDUGQXPEHUV<RXGRQ¶WZDQWWKH%DG*X\VFRQYLQFLQJ\RXUVHUYHUWKDW
WKH\¶UHDFWXDOO\WKH6SHFLDO&XVWRPHUV:KR*HW%LJ'LVFRXQWV$QG\RXGRQ¶W
ZDQWDQ\RQHJRRG25EDGORRNLQJDWVHQVLWLYHHPSOR\HHGDWD'RHV-LPLQ
PDUNHWLQJUHDOO\QHHGWRNQRZWKDW/LVDLQHQJLQHHULQJPDNHVWKUHHWLPHVDV
PXFKDVKHGRHV"$QGGR\RXUHDOO\ZDQW-LPWRWDNHPDWWHUVLQWRKLVRZQKDQGV
DQGORJLQXQDXWKRUL]HGWRWKH8SGDWH3D\UROOVHUYOHW"
.HHSLWVHFUHWNHHSLWVDIH


ZHEDSSVHFXULW\
7KH\·UHRXWWKHUH7KH
%DG*X\VWKH\·UHHYHU\ZKHUH
,
PXVW
OHDUQDERXW$XWKHQWLFDWLRQ
DQG$XWKRUL]DWLRQ,
PXVW
OHDUQWR
WUDQVPLWWKHGDWDVHFXUHO\,,

','<28+($57+$7"
Chapter 12. Keep it secret, keep it safe
Chapter 12. Keep it secret, keep it safe
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher:
O'Reilly
Prepared for Augusto Jaramillo Forcada, Safari ID:
Print Publication Date: 8/1/2004 User number: 729515 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
%DVHGRQWKHVHUYOHWVSHFL¿FDWLRQFRPSDUH
DQGFRQWUDVWWKHIROORZLQJVHFXULW\LVVXHV
DDXWKHQWLFDWLRQEDXWKRUL]DWLRQFGDWD
LQWHJULW\DQGGFRQ¿GHQWLDOLW\

6HUYOHWV-63RYHUYLHZ
RI¿FLDO6XQH[DPREMHFWLYHV
!LLOFTHEOBJECTIVESINTHISSECTIONARECOVERED
COMPLETELYINTHISCHAPTERINCLUDINGSECURITY
RELATED$$ELEMENTSTHATWERE./4COVEREDIN
THEDEPLOYMENTCHAPTER
7ECANTMAKEYOUACOMPLETESECURITYBEING
BUTTHECONTENTINTHISCHAPTERISASTARTAND
ITSEVERYTHINGYOUNEEDFORTHEEXAM
&RYHUDJH1RWHV
,QWKHGHSOR\PHQWGHVFULSWRUGHFODUHWKH
IROORZLQJDVHFXULW\FRQVWUDLQWD:HEUHVRXUFH
WKHWUDQVSRUWJXDUDQWHHWKHORJLQFRQ¿JXUDWLRQ

DQGDVHFXULW\UROH

*LYHQDQDXWKHQWLFDWLRQW\SH%$6,&',*(67
)250DQG&/,(17&(57GHVFULEHLWV
PHFKDQLVP

Chapter 12. Keep it secret, keep it safe
Chapter 12. Keep it secret, keep it safe
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher:
O'Reilly
Prepared for Augusto Jaramillo Forcada, Safari ID:
Print Publication Date: 8/1/2004 User number: 729515 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
Copyright Safari Books Online #729515
ZHEDSSVHFXULW\
\RXDUHKHUH

<PM*IL/]a[IZMM^MZa_PMZM
!SAWEBAPPLICATIONDEVELOPERYOUNEEDTOPROTECTYOURWEBSITE
4HEREARETHREEMAINKINDSOFBADGUYSYOUNEEDTOWATCHOUTFOR
)MPERSONATORS5PGRADERSAND%AVESDROPPERS
6HUYHU
2.)UDQNLH,·PLQ
1RZZKDW"<RXPHDQWKDW·V
DOO,KDYHWRGRWRSUHWHQG
WREH+HLGL3OXP"
6HUYHU
1DXJKW\8SJUDGHU

,·PLQWRR,·PDOUHDG\
D
UHJXODU
PHPEHUEXW
QRZ,ÀJXUHGRXWKRZWRVQHDN
LQWRWKH
3UHPLXP
0HPEHUV
DUHDDQGQRZ,FDQGR
$1<7+,1*
3267%X\6WXIIMVS
KWPO!

(QWHU&UHGLW&DUG
LQSXWW\SH WH[WQDPH µFF1XPµ!

KWPO!
KWPO!

(QWHU&UHGLW&DUG
LQSXWW\SH WH[WQDPH µFF1XPµ!

KWPO!
3267%X\:LWK'LVFRXQWMVS
(YLO,PSHUVRQDWRU
Chapter 12. Keep it secret, keep it safe
Chapter 12. Keep it secret, keep it safe
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher:
O'Reilly
Prepared for Augusto Jaramillo Forcada, Safari ID:

Print Publication Date: 8/1/2004 User number: 729515 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
6HUYHUIRU
*RRG*X\VFRP
/RRN'DGG\:H
KDFNHGWKDWODG\·V
FUHGLWFDUGQXPEHU
(YLO(DYHVGURSSHU
,QQRFHQW8VHU
)VLQ\¼[VW\R][\\PM;-:>-:\PI\OM\[P]Z\
%AVESDROPPERSCANBETHEWORST.OTONLYARETHEYTRYINGTOSCAMYOUR
WEBAPPBUTTHEYCANBURNSOMEOFYOURGOODCLIENTSTOO!DOUBLE
HIT)FANEAVESDROPPERISSUCCESSFULHELLSWIPEYOURCLIENTSCREDITCARD
INFORMATIONANDCHARGEUPASTORM
3267&KHFN2XWMVS
>FUHGLWFDUGLQIRUPDWLRQ@
HYLOHDYHVGURSSHUV
Chapter 12. Keep it secret, keep it safe
Chapter 12. Keep it secret, keep it safe
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher:
O'Reilly
Prepared for Augusto Jaramillo Forcada, Safari ID:
Print Publication Date: 8/1/2004 User number: 729515 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

ZHEDSSVHFXULW\
\RXDUHKHUH

<PM*QOQV[MZ^TM\[MK]ZQ\a
3ERVLETSECURITYHELPSYOUTHEWEBAPPDEVELOPER
FOIL)MPERSONATORS5PGRADERSAND%AVESDROPPERS
!SFARASTHESERVLETSPECIlCATIONISCONCERNEDAND
HENCETHEEXAMSERVLETSECURITYBOILSDOWNTO
FOURMAINCONCEPTSAUTHENTICATIONAUTHORIZATION
CONlDENTIALITYANDDATAINTEGRITY
6HUYHU
2NEXGG\,JRW\RXU
UHTXHVWEXWKRZGR,NQRZ
\RX
DUHZKR\RXVD\\RXDUH
"
+773UHTXHVW
3267


6HUYHU
6KKK2NZH·YH
JRWWRPDNHVXUHWKDW
QRRQHFDQ
ORRNDWRUPHVV
ZLWK
ZKDW,·PDERXWWR
VHQGRXW
6HUYHU
/RRN'HOEHUWEHIRUH

,FDQVHQG\RXWKLVVSHFLDO
3UHPLXP
ZHESDJH,KDYHWR
PDNHVXUH
\RX·UHDOORZHG
WRVHHLW
$XWKHQWLFDWLRQ
WRIRLO,PSHUVRQDWRUV
$XWKRUL]DWLRQ
WRIRLO8SJUDGHUV
&RQILGHQWLDOLW\'DWD,QWHJULW\
WRIRLO(DYHVGURSSHUV
H[I
JJZ;
VGI#
IGOGG
GG;;GHV
5AGG(G
(QFU\SWHG
UHVSRQVH
+773UHTXHVW
3267






%XVWHG
%XVWHG

%XVWHG
Chapter 12. Keep it secret, keep it safe
Chapter 12. Keep it secret, keep it safe
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher:
O'Reilly
Prepared for Augusto Jaramillo Forcada, Safari ID:
Print Publication Date: 8/1/2004 User number: 729515 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

FKDSWHU
/NEDAY"OBSBOSSCALLED"OBINTOHISOFlCEh)VE
GOTANEXCITINGNEWPROJECTFORYOUvHISBOSS
SAID"OBGROANEDh)KNOW)VEHANDEDYOU
SOMEBADJOBSINTHEPASTBUTTHISONESHOULD
BEREALLYFUN)DLIKEYOUTODESIGNTHESECURITY
FOROURCOMPANYSNEWE#OMMERCEWEBSITEv
h3ECURITYv"OBSAIDhISHARDANDBORINGvh.O
YOUREWRONGvTHEBOSSSAIDh)N*%%SERVLET
SECURITYISSUPPOSEDTOBEPRETTYCOOLv
4HEBOSSCONTINUEDh,ETMEGIVEYOUTHEELEVATOR
PITCHTOGETYOUGOINGTHENWELLGOINTODETAILS
ONCEYOUVEHADACHANCETOTHINKTHISTHROUGHv
h/Kv"OBSIGHEDh,AYITONMEv
h!SYOUKNOWTHISBEERWEBSITEISREALLYHOTRIGHT
NOW7EVEADDEDSEVERALNEWFEATURESANDWERE
GETTINGAGREATRESPONSE3OMEOFOURUSERSARE
HAPPYWITHJUSTTHEFREERECIPESWEOFFERBUTALOT
MOREPEOPLETHANWETHOUGHTAREWILLINGTOPAYFOR

OURRAREHOPSANDOTHERPREMIUMINGREDIENTS/H
ANDOUR&REQUENT"REWERPROGRAMISAHUGEHIT)FA
USERDECIDESHELLBEAREPEATINGREDIENTBUYERHE
CANPAYAONETIMEFEEANDUPGRADETO"REW-ASTER
STATUS!"REW-ASTERGETSPECIALDISCOUNTSAND
EARNS&REQUENT"REWERPOINTSWHICHHECANREDEEM
FORCOOLBREWREWARDSv
"OBCONTINUEDTOLISTENMENTALLYCALCULATINGTHE
CODEHELLHAVETOWRITETOIMPLEMENTALLTHISAND
KISSINGTHATTROPICALVACATIONGOODBYE-EANWHILE
THEBOSSCONTINUED
h"UTNOWWEHAVETOMAKESURETHATWHENONEOF
OURUSERSMAKESAPURCHASENOONECANSWIPEHIS
CREDITCARDINFORMATION/HANOTHERTHINGWED
BETTERMAKESURETHATWHENAMEMBERLOGSINITSNOT
ACTUALLYONEOFHISFRIENDSTRYINGTOSNEAKIN)THINK
WENEEDTOREQUIRETHATMEMBERSHAVEPASSWORDS
FROMNOWONv
)TQ\\TM[MK]ZQ\a[\WZa
:KLFKVHFXULW\FRQFHSWVDUH
PHQWLRQHGLQWKHVWRU\"
5HUHDGWKHVWRU\DQGDQQRWDWHWKHSODFHVZKHUH
WKHERVV·VUHTXLUHPHQWVFDOOIRU
DXWKHQWLFDWLRQ
DXWKRUL]DWLRQ
FRQILGHQWLDOLW\
GDWDLQWHJULW\
<HDK\HDKZHNQRZWKLVLVREYLRXVEXWZH·UHMXVW
ZDUPLQJXSWKHWRSLFEHIRUHLWJHWVGRZQDQGGLUW\
#4X3X98

h)TSALLMAKINGSENSESOFARvSAID"OBh7HENUSERS
PLACEANORDERWITHUSDOWEWANTTOGIVETHEM
SOMESORTOFCONlRMATIONCODEvh'REATIDEAv
SAIDTHEBOSSh/HANDONEMORETHING)FORGOT
YOUBETTERMAKESURETHATONLYOUR&REQUENT"REWERS
GETTHESPECIALDISCOUNTSv
h)THINKTHISISENOUGHvSAIDTHEBOSSh"UTYOU
KNOWTHEWAYTHINGSAREGOINGITPROBABLYWONT
BETOOLONGBEFOREWEOFFERSOMESORTOFPLATINUM
MEMBERSHIPLEVELv
%RE¶VVHFXULW\SURMHFW
Chapter 12. Keep it secret, keep it safe
Chapter 12. Keep it secret, keep it safe
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher:
O'Reilly
Prepared for Augusto Jaramillo Forcada, Safari ID:
Print Publication Date: 8/1/2004 User number: 729515 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
ZHEDSSVHFXULW\
\RXDUHKHUH

AUTHENTICATION - Whenever someone
mentions passwords, theyÕre probably talking
about authentication is this guy who he says
he is? If so, he should know his password!.
AUTHORIZATION - Once we have
established who weÕre talking to, we
want to make sure that theyÕre

allowed to do what they want to do.
CONFIDENTIALITY - It would be a
terrible security breach if a userÕs credit
card number fell into the wrong hands!
CONFIDENTIALITY & DATA INTEGRITY-
At this point the server is returning important
and private information. It would be bad
if the information was seen or altered by an
eavesdropper.
/NEDAY"OBSBOSSCALLED"OBINTOHISOFlCEh)VE
GOTANEXCITINGNEWPROJECTFORYOUvHISBOSS
SAID"OBGROANEDh)KNOW)VEHANDEDYOU
SOMEBADJOBSINTHEPASTBUTTHISONESHOULD
BEREALLYFUN)DLIKEYOUTODESIGNTHESECURITY
FOROURCOMPANYSNEWE#OMMERCEWEBSITEv
h3ECURITYv"OBSAIDhISHARDANDBORINGvh.O
YOUREWRONGvTHEBOSSSAIDh)N*%%SERVLET
SECURITYISSUPPOSEDTOBEPRETTYCOOLv
4HEBOSSCONTINUEDh,ETMEGIVEYOUTHEELEVATOR
PITCHTOGETYOUGOINGTHENWELLGOINTODETAILS
ONCEYOUVEHADACHANCETOTHINKTHISTHROUGHv
h/+v"OBSIGHEDh,AYITONMEv
h!SYOUKNOWTHISBEERWEBSITEISREALLYHOTRIGHT
NOW7EVEADDEDSEVERALNEWFEATURESANDWERE
GETTINGAGREATRESPONSE3OMEOFOURUSERSARE
HAPPYWITHJUSTTHEFREERECIPESWEOFFERBUTALOT
MOREPEOPLETHANWETHOUGHTAREWILLINGTOPAYFOR
OURRAREHOPSANDOTHERPREMIUMINGREDIENTS/H
ANDOUR&REQUENT"REWERPROGRAMISAHUGEHIT)FA
USERDECIDESHELLBEAREPEATINGREDIENTBUYERHE

CANPAYAONETIMEFEEANDUPGRADETO
"REW-ASTER

STATUS!"REW-ASTERGET
SPECIALDISCOUNTS
AND
EARNS&REQUENT"REWER
POINTSWHICHHECANREDEEM
FORCOOLBREWREWARDSv
"OBCONTINUEDTOLISTENMENTALLYCALCULATINGTHE
CODEHELLHAVETOWRITETOIMPLEMENTALLTHISAND
KISSINGTHATTROPICALVACATIONGOODBYE-EANWHILE
THEBOSSCONTINUED
h"UTNOWWEHAVETOMAKESURETHATWHENONEOF
OURUSERSMAKESAPURCHASENOONECANSWIPEHIS
CREDITCARDINFORMATION
/HANOTHERTHINGWED
BETTERMAKESURETHATWHENAMEMBERLOGSINITSNOT
ACTUALLYONEOFHIS
FRIENDSTRYINGTOSNEAKIN)THINK
WENEEDTOREQUIRETHATMEMBERSHAVE
PASSWORDS

FROMNOWONv
)TQ\\TM[MK]ZQ\a[\WZa
h)TSALLMAKINGSENSESOFARvSAID"OBh7HENA
USERPLACESANORDERWITHUSDOWEWANTTOGIVE
THEMSOMESORTOF
CONlRMATIONCODE
vh'REAT

IDEAvSAIDTHEBOSSh/HANDONEMORETHING
)FORGOTYOUBETTERMAKESURETHAT
ONLYOUR
&REQUENT"REWERS
GETTHESPECIALDISCOUNTSv
h)THINKTHISISENOUGHvSAIDTHEBOSSh"UTYOU
KNOWTHEWAYTHINGSAREGOINGITPROBABLYWONT
BETOOLONGBEFOREWEOFFERSOMESORTOFPLATINUM
MEMBERSHIPLEVELv
O
Sh
TTE
G
EN
AY
E
LE
AN
DEEM
MAKE
APU
MAT
Q
THINK
KN
Chapter 12. Keep it secret, keep it safe
Chapter 12. Keep it secret, keep it safe
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher:
O'Reilly
Prepared for Augusto Jaramillo Forcada, Safari ID:

Print Publication Date: 8/1/2004 User number: 729515 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.

×