Tải bản đầy đủ (.pdf) (1,086 trang)

OReilly java servlet programming 2nd edition apr 2001 ISBN 0596000405

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 (6.78 MB, 1,086 trang )



JavaServletProgramming,2ndEdition>14.TheTeaFramework>14.1TheTea
Language

CONTINUE>

14.1TheTeaLanguage
Teaisaprogramminglanguagedesignedfortextformatting.Itisstrongly
typed,compiled,anddesignedtoworkwithinaJava-basedhosting
environment.TheTeaServletisthathostingenvironment,makinguseofTeafor
webpagecreationandprovidingastandardhookintoservletengineswith
whichtocallTeatemplatefiles.[1]
[1]AlthoughTeawasdesignedfortextformatting,it'sactuallypossibleforaTeatemplatetocontrol

animage-producingapplicationclassandeasilyscripttogetheradynamicimage.Unlikeother
contentcreationtoolswe'lldiscuss,Teatemplatesmayoutputbinarydataaswellascharacterdata.

ThemaingoaloftheTealanguageistoenforceseparationbetweencontentand
presentation,withoutsacrificingbasicprogrammingconstructs.Tothisend,Tea
wascreatedwithfourbasicconstraints:
Dataordatatypescannotbedirectlycreated;theyareacquired.
Acquireddatacannotbedirectlymodifiedinanyway.
Atemplatecannotdirectlycauseharmtoitshostingenvironment.
Onlytheminimumamountofprogrammingconstructsisprovided.
Theseconstraintsadditionallyprotectthesystemfromabuggyorpoorlywritten
template,somethingthat'sextremelydesirablewhenyouhaveasiteaccepting
newtemplatesbythedozen,asoccursonpopularnewssites.Thisdesignalso
benefitswebhostingcompaniesthatneedtoprovideclientswiththeabilityto
createdynamicpagesbutdon'twantanyparticularclient'smistaketonegatively


impacttherestoftheserver.
Butdoweneedanotherlanguage,especiallyalanguagethatdoeslessthan
Java?TheTeaTemplateLanguageManualanswersthisquestion:
Tearesultedfromseveralyearsofexperiencewithotherwebpagebuilding


mechanisms.Mostweb-basedapplicationsstartoutwithHTMLtags
embeddedincode,whetheritbeC,Perl,orJava.Thisapproachis
adequateforsmallorfirst-timeprojectsbecauseitdoesn'ttakeverylongto
develop.
Becausechangestopageformattingcanoccurfrequently,anddevelopers
don'twishtomakethesechanges,theyinevitablyevolveintousingsome
kindoftokenreplacementtemplatingmechanism.Eachtokenisjusta
placeholderforastring,whichcontainsapplication-createddata.These
templatesystemsfurtherevolveintosupportingspecialconstructsfor
formattingtables,forms,andsimpleconditionallogic.
Whenintroducingprogrammingconstructsintoatemplate,thechallengeis
tocomeupwithsomethingthatispowerfulenough,yetatthesametime
besimpleandsafe.Ifit'stoopowerful,thencompleteapplicationscould
bedevelopedintemplates.Ifitistooweak,thenHTMLformattingends
upintheapplication.Ifitisn'tsimpleorsafe,thenapplicationdevelopers
endupwritingandmaintainingtemplates.
RatherthanembeddinganexistinglanguageintosomethinglikeanASPor
JSP,Teaisalanguagespeciallydesignedtomeettherequirementsofa
templatingsystem.Itissafe,simple,efficient,andpowerful.
Inoneinstance,Teaisintegratedwithaspecialservlet.Thisservletgives
Teatemplatescontroloverpagebuilding,whileretainingstrongtiestoa
backendapplicationwrittenbyaJavadeveloper.Whilethisservlet
providesfunctionalitysimilartothatofJSPs,Teaenforcescorrectmodelviewseparationbecauseoftheintentionallanguagelimitations.Although
thisisalsothesuggestedseparationmodelinJSPs,itcannotbeenforced.

Inaddition,Teatemplatesdon'tsupportprogrammingfeaturesthatcanbe
usedirresponsibly.Modificationsneednotgothroughastrictreviewand
testingphase,whichwouldstillberequiredforJSPs.
Everyoneworkingonaprojectshouldbeempoweredtodotheirjobthe
mosteffectively,andTeadoesitspartbylettingyoudoexactlywhatyou
need,aseasilyaspossible,andnomore.Evenonprojectsrunbyjust
developers,usingTeaisstillbeneficial.Itencouragesgooddevelopment
practicesanditmakesapplicationseasiertomaintain.


Readersofthisbookshouldalsoremember,Teaisn'talanguageintendedfor
you;it'salanguagetobeusedbytechnicalproducers.It'sasimplerlanguage
thanJava,asaferlanguagethanJava,andequallyasefficientasJava.
Lastupdatedon3/20/2003
JavaServletProgramming,2ndEdition,©2001O'Reilly


CONTINUE>




JavaServletProgramming,2ndEdition

JavaServletProgramming,2ndEdition
[Symbol][A][B][C][D][E][F][G][H][I][J][K][L][M][N][O][P][Q][R][S][T][U][V][W][X][Y][Z]
Preface
ServletAPI2.2
ReadersoftheFirstEdition

Audience
AbouttheExamples
Organization
ConventionsUsedinThisBook
RequestforComments
Acknowledgments
AcknowledgmentsfromtheFirstEdition
1.Introduction
1.1HistoryofWebApplications
1.2SupportforServlets
1.3ThePowerofServlets
2.HTTPServletBasics
2.1HTTPBasics
2.2TheServletAPI
2.3PageGeneration
2.4WebApplications
2.5MovingOn
3.TheServletLifecycle
3.1TheServletAlternative
3.2ServletReloading
3.3InitandDestroy
3.4Single-ThreadModel
3.5BackgroundProcessing
3.6LoadonStartup
3.7Client-SideCaching
3.8Server-SideCaching
4.RetrievingInformation
4.1TheServlet
4.2TheServer
4.3TheClient

5.SendingHTMLInformation
5.1TheStructureofaResponse
5.2SendingaNormalResponse
5.3UsingPersistentConnections
5.4ResponseBuffering
5.5StatusCodes
5.6HTTPHeaders


5.7WhenThingsGoWrong
5.8SixWaystoSkinaServletCat
6.SendingMultimediaContent
6.1WAPandWML
6.2Images
6.3CompressedContent
6.4ServerPush
7.SessionTracking
7.1UserAuthentication
7.2HiddenFormFields
7.3URLRewriting
7.4PersistentCookies
7.5TheSessionTrackingAPI
8.Security
8.1HTTPAuthentication
8.2Form-BasedAuthentication
8.3CustomAuthentication
8.4DigitalCertificates
8.5SecureSocketsLayer(SSL)
9.DatabaseConnectivity
9.1RelationalDatabases

9.2TheJDBCAPI
9.3ReusingDatabaseObjects
9.4Transactions
9.5AGuestbookServlet
9.6AdvancedJDBCTechniques
9.7BeyondtheCore
10.Applet-ServletCommunication
10.1CommunicationOptions
10.2DaytimeServer
10.3ChatServer
11.ServletCollaboration
11.1SharingInformation
11.2SharingControl
12.EnterpriseServletsandJ2EE
12.1DistributingLoad
12.2IntegratingwithJ2EE
13.Internationalization
13.1WesternEuropeanLanguages
13.2ConformingtoLocalCustoms
13.3Non-WesternEuropeanLanguages
13.4MultipleLanguages
13.5DynamicLanguageNegotiation
13.6HTMLForms


14.TheTeaFramework
14.1TheTeaLanguage
14.2GettingStarted
14.3RequestInformation
14.4TeaAdministration

14.5TeaApplications
14.6AToolApplication
14.7FinalWords
15.WebMacro
15.1TheWebMacroFramework
15.2InstallingWebMacro
15.3WebMacroDirectives
15.4WebMacroTemplates
15.5AToolApplication
15.6Filters
16.ElementConstructionSet
16.1PageComponentsasObjects
16.2DisplayingaResultSet
17.XMLC
17.1ASimpleXMLCompile
17.2TheManipulationClass
17.3AToolApplication
18.JavaServerPages
18.1UsingJavaServerPages
18.2BehindtheScenes
18.3ExpressionsandDeclarations
18.4Directives
18.5JSPandJavaBeans
18.6IncludesandForwards
18.7AToolApplication
18.8CustomTagLibraries
19.OddsandEnds
19.1ParsingParameters
19.2SendingEmail
19.3UsingRegularExpressions

19.4ExecutingPrograms
19.5UsingNativeMethods
19.6ActingasanRMIClient
19.7Debugging
19.8PerformanceTuning
20.What'sNewintheServlet2.3API
20.1ChangesintheServletAPI2.3
20.2Conclusion
A.ServletAPIQuickReference


GenericServlet
RequestDispatcher
Servlet
ServletConfig
ServletContext
ServletException
ServletInputStream
ServletOutputStream
ServletRequest
ServletResponse
SingleThreadModel
UnavailableException
B.HTTPServletAPIQuickReference
Cookie
HttpServlet
HttpServletRequest
HttpServletResponse
HttpSession
HttpSessionBindingEvent

HttpSessionBindingListener
HttpSessionContext
HttpUtils
C.DeploymentDescriptorDTDReference
<auth-constraint>
<auth-method>
<context-param>
<description>
<display-name>
<distributable>
<ejb-link>
<ejb-ref>
<ejb-ref-name>
<ejb-ref-type>
<env-entry>
<env-entry-name>
<env-entry-type>
<env-entry-value>
<error-code>
<error-page>
<exception-type>
<extension>
<form-error-page>
<form-login-config>
<form-login-page>
<home>
<http-method>
<icon>
<init-param>
<jsp-file>

<large-icon>


<load-on-startup>
<location>
<login-config>
<mime-mapping>
<mime-type>


<realm-name>
<remote>
<res-auth>
<res-ref-name>
<res-type>
<resource-ref>
<role-link>
<role-name>
<security-constraint>
<security-role>
<security-role-ref>
<servlet>
<servlet-class>
<servlet-mapping>
<servlet-name>
<session-config>
<session-timeout>
<small-icon>
<taglib>
<taglib-location>

<taglib-uri>
<transport-guarantee>
<url-pattern>
<user-data-constraint>
<web-app>
<web-resource-collection>
<web-resource-name>
<welcome-file>
<welcome-file-list>
D.HTTPStatusCodes
E.CharacterEntities
F.Charsets
Colophon

Lastupdatedon3/20/2003
JavaServletProgramming,2ndEdition,©2001O'Reilly

©2001,O'Reilly&Associates,Inc.




JavaServletProgramming,2ndEdition>14.TheTeaFramework

CONTINUE>


Chapter14.TheTeaFramework
Nowwe'rereadytodiscussservlet-basedcontentcreationframeworks.We'll

postponeourdiscussionofJSPbecauseit'sthemostcomplicatedcontent
creationalternativeandstartinsteadwithalookatTea.TeaServlet(colloquially
knownasTea)isaproductfromtheWaltDisneyInternetGroup
(WDIG)formerlyGO.comdevelopedinternallyovertheyearstoaidinthe
creationofhigh-trafficwebsitessuchasESPN.com,NFL.com,Disney.com,
DisneyLand.com,Movies.com,ABC.com,andGO.com.Itwasrecently
releasedasopensourceinthehopesthatotherswouldfindTeausefuland
continuetoenhancethetool.Thestrategymakesbusinesssense;youshareyour
toolsinthehopethatotherswillhelpsharpenthem.HerewediscussTeaServlet
1.1.0,availableat.ItrequiresServletAPI2.1or2.2
andJDK1.2orlater.TeaServlet'slicenseisApache-style,oneoftheleastrestrictivelicensesandmostappealingtodevelopersbecauseitmeansyoucan
useTeaincreatingnewproductsandsiteswithoutreleasingthoseproductsas
opensource.ThisisthelicensemodelusedbyallApacheprojects,including
theApachewebserverandtheTomcatserver.
Teawasdesignedforprojectsrunbysmallteamsofdevelopersandtechnical
producers.Thedeveloper'sroleisthecreationof"applications"writteninJava
andinstalledintotheTeaServlet.Aproducercreatesandmaintainsthefinal
appearanceofdynamicwebpagesbywritingTeatemplatesthatcallupon
functionsprovidedbythedeveloper'sapplications.Forexample,onanESPN
website,onedevelopercreatesanapplicationforteamstatistics,onedeveloper
(workingindependently)createsanapplicationforplayerstatistics,anda
technicalproducerpoststhedatatothewebusingTeatemplates.Infact,several
producersworkingindependentlycanusethesamebackenddatatocreate
targetedsitesfordifferentaudiencessomethingWDIGhasdonefortheirsites
includingDisney.com,Movies.com,ESPN.com,andGO.com.Thetemplates
arewrittenintheTealanguagetoenforceanexcellentseparationofcontent
frompresentation.
Lastupdatedon3/20/2003
JavaServletProgramming,2ndEdition,©2001O'Reilly



CONTINUE>




JavaServletProgramming,2ndEdition>14.TheTeaFramework>14.2GettingStarted

CONTINUE>

14.2GettingStarted
TogetfamiliarwithTea,let'sstartsimplebylookingatafewstandalonetemplates.
Thesetemplatesaren'tgoingtotakeadvantageofanysupporting"application"Java
classesandthuswon'tbeabletodoverymuch.Hereisourfirsttemplate:
<%templateSimplePage()%>
Thisisasimplepagethatdoesnothingspecial.

Thistemplatesimplyoutputs"Thisisasimplepagethatdoesnothingspecial."to
everyonewhoaccessesit.Templatesarecomposedofcodeandtextregions.Code
regionsaredelimitedby<%and%>(nootherspecialdelimitersarerequired).Text
outsideacoderegionisoutputbythetemplateasis,whichiswhythistemplate
printsthesimplestatement.
Torunthetemplate,youmustfirstsaveittoafilenamedSimplePage.tea.Similar
toJavaclasses,thenameofthefilemustmatchthenameofthetemplateas
declaredbytheconstructor(casesensitive),andthefilemustendwitha.teasuffix.
Thelocationinwhichtosavethetemplateisconfigurable;werecommenda
directoryunderWEB-INFsuchasWEB-INF/templates.
ThenextsteptorunningthetemplateisinstallingTeaitself.Downloadthe

distributionfromandfollowtheirinstructionsforinstall:
placetheTeaServlet.jarfilefromthedistributionintothewebserver'sclasspath.
Thenedityourwebapplication'sweb.xmldeploymentdescriptortoregisterthe
TeaServletunderthenameteawithaninitparameterspecifyingalocationfor
configurationinformation.Alsosetupaprefixmappingrulethat/tea/*invokes
theteaservlet.Anexampleweb.xmladditionisshowninExample14-1.
Example14-1.InstallingTeaServlet
<!--...-->
<servlet>
<servlet-name>
tea
</servlet-name>
<servlet-class>


com.go.teaservlet.TeaServlet
</servlet-class>
<init-param>

properties.file
</param-name>

<!--Editthistobeanabsolutepathtoyourpropfile-->
/tomcat/webapps/teatime/WEB-INF/TeaServlet.properties
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>
tea

</servlet-name>
<url-pattern>
/tea/*
</url-pattern>
</servlet-mapping>
<!--...-->

TheonlythingyoumustcustomizeisthepathtotheTeaServlet.propertiesfile.It
shouldbeanabsolutepath.TheTeaServlet.propertiesfileconfiguresthebehavior
oftheTeaServlet.Itcanbequitelong,whichiswhytheweb.xmlfilepointstoan
externalfileinsteadofincludingtheconfigurationinformationdirectly.We'll
postponeafulldiscussionofthepropertiesfilefornowandusethemostsimple
TeaServlet.propertiesfilepossible:
#TeaServlet.properties
#
#SpecifythelocationofTeatemplates
template.path=/tomcat/webapps/teatime/WEB-INF/templates

Makesuretosavethepropertiesfileatthelocationstatedintheweb.xmlfile.The
finalstepistorestartyourserversoitreadsthenewweb.xmlfile(withsome
serversthisisn'tnecessary).
OnceTeaServlethasbeenproperlyinstalled,theSimplePagecanbeaccessedata
locationsuchashttp://localhost:8080/teatime/tea/SimplePage.The/teatimeportion
ofthepathspecifiesthewebapplicationbeingaccessed.Thefollowing/teaportion
matchestheprefixmappinggivenintheteatimeweb.xml,causingtheTeaServlet
tobeinvokedtohandletherequest.Templatescanbeplacedinsubdirectoriesunder
template.path,inwhichcasethey'reinvokedusingapaththatincludesthe
subdirectorynamesuchas/teatime/tea/subdir/SimplePage.



Lastupdatedon3/20/2003
JavaServletProgramming,2ndEdition,©2001O'Reilly


CONTINUE>




JavaServletProgramming,2ndEdition

JavaServletProgramming,2ndEdition
JasonHunter
WilliamCrawford
Publisher:O'Reilly
SecondEditionApril2001
ISBN:0-596-00040-5,780pages

Copyright
TableofContents
Index
FullDescription
AbouttheAuthor
Reviews
Readerreviews
Errata

Thesecondeditionofthispopularbookhasbeen
completelyupdatedtoaddthenewfeaturesoftheJava

ServletAPIVersion2.2,andnewchaptersonservlet
securityandadvancedcommunication.Inadditionto
completelycoveringthe2.2specification,wehaveincluded
bonusmaterialonthenew2.3versionofthespecification.
Lastupdatedon3/20/2003
JavaServletProgramming,2ndEdition,©2001O'Reilly

©2001,O'Reilly&Associates,Inc.




JavaServletProgramming,2ndEdition

JavaServletProgramming,2ndEdition

[Symbol][A][B][C][D][E][F][G][H][I][J][K][L][M][N][O][P][Q][R][S][T][U]
[V][W][X][Y][Z]
!=(comparison)operator
#beginand#endkeywords,codeblocksforWebMacrodirectives
#elsedirective,WebMacro,2nd
#endkeyword,WebMacrocodeblocks
#foreachdirective,WebMacro
iteratingovertoolslist
#ifdirective,WebMacro,2nd
#includedirective,WebMacro
#paramdirective,WebMacro
defaulttoolstate,defining
#parsedirective,WebMacro
#setdirective,WebMacro,2nd,3rd

#usedirective,WebMacro
&&,||,and!(Boolean)operators
,enclosingJSPcomments
,enclosingJSPdeclarations
,enclosingJSPdirectives


,enclosingJSPexpressions
,enclosingscriptlets
-classoption,XMLC
-delete-classoption,XMLC
-keepoption,XMLC
-methodsoption,XMLC
.ear(EnterpriseArchive)files
/servlet/prefix,useof
==(comparison)operator
{}(curlybraces),demarcatingcodeblockswith
A
absolutepaths
TemplatePath,including#parsetargetfileswithin
URLs,requestdispatching
Acceptheader,multiplevaluesfor
accept(),2nd
Accept-Charsetheader
HelloBabel(example),usein
Accept-Encodingheader,2nd
Accept-Languageheader,2nd
HelloBabel(example),usein
access
controllingwithsecuritymanagers



restrictingforclients
restrictingusers
role-basedauthorization,managingwith
toservlets,restricting
AcmeGIFencoderusingLZcompression
action,2nd,3rd
attributesof
body,interpreting
toolview-tag.jsp(example),usein
toolview.jsppage,usein
ACTIONparameter(forms),extrapathinformationin
actions,JSP,2nd,3rd,4th,5th,6th
custom
requirementtobewell-formedXML
activation(session)
ActiveServerPages(ASP)
add-onservletcontainers,2nd
addCookie()(HttpServletResponse)
addNotify()
addresses(senderandreceiver),emailmessages
administeredobjects,supportinJ2EE1.3
administration,Tea
compileerrormessages
configurationfile(example)
errorsandexceptions,handling
verifyingproperapplicationloading
age(maximum),specifyingforcookies



aliasesforroles
creatingindeploymentdescriptor
ServletAPI2.3,changesin
Allaire
JRunServer
JRunserver
servletcontainer,add-on
ServletDebugger
alpha(transparency)value,pixels
animations,updatingwithserverpush
anonymoussessiontracking
hiddenformfields,using
URLrewriting,useof
anonymoususername
ANSISQL-2EntryLevel
Apache
ECSpackages
JServandTomcat,tyingsessionsto
JServmodule(add-onservletcontainer)
licensingmodel
WebMacro,useof
servletAPIclasses,makingavailable
TomcatServer
Version3.2,website
Villagelibrary
Xerces
ApacheJakartaProject
ECS(website)
regularexpessionengine

TaglibsandStrutstaglibraries
WebMacro(Velocityclone)


ApacheSoftwareFoundation(ASF),javax.servletandjavax.servlet.httppackages
ApacheStruts(taglibrary),2nd
installing
tag
tag,replacingforloops
APIs
JavaAPIforXMLParsing(JAXP)
Javacore,harnessingforservlets
JDOM,manipulatingXMLwith
serverextension
server-side,inJ2EE
Servlet,2nd
append()
applets
communicatingwithservers
trustedanduntrustedapplets
communicatingwithservlets
sockets,non-HTTP
exceptions,uploadingtoservlet
portability,servletsvs.
sessiontrackingwith
Applicationinterface,implementedbyTeaapplications
applicationlayer,WAP
applicationlogic,embeddingintoJSPpages
applicationscope,JavaBeans
applicationservers

CORBA,InpriseApplicationServer4
RMI,socketandHTTPclientsupport
servlets,supportof
standalonecontainersupport,providing


application/octet-stream(contenttype)
application/x-www-form-urlencodedcontenttype,2nd
ApplicationRequestinterface
ApplicationResponseinterface
applications
JSP
toolview,usingcutomtaglibraries
server-side,Javasuitabilityfor
Tea
writing
WAP,executingwithdevicesimulators
WebMacro,toolview
XMLC
toolview
architectures
JSP
options(website)
servletdistribution
TeaServlet,WebMacrovs.
archiving
EnterpriseArchive(.ear)files
JavaArchivefiles
webapplication(WAR)files
JARdependencies,expressingwithin

areacodelookupapplication(WML)
AreaCodeservlet(example)
arithmetic(integer),WebMacrocontexttoolfor
ArrayIndexOutOfBoundsExceptionclass
ArrayListclass


arrays
ofbytes
SQL3ARRAYdatatype,supportinJDBC2.0
ofTableCustomizerobjects
WebMacro,settingin
ASCIIcharacters
inlargetextstrings
inresourcebundles
ASP(ActiveServerPages)
asymmetrickeys,public/privatekeycryptography
ATGDynamoApplicationServer
attributeAdded()
attributeRemoved()
attributeReplaced()
attributes
action
cookies,settingfor
errors,informationabout
forwardrequests,usein
includerequests
retrievingpathelementsandparameters
JSP,listingof
names,conventionsfor,2nd

request
HTTPSconnections,ServletAPI2.3
request-timeattributeexpression
server
javax.servlet.context.tempdir
serverandservlet,listingcurrent
servletcontext,lifecyclelisteners
setting,getting,andremoving
XML,enclosingvalueswithquotes


authentication
custom
digest
form-based
loginanderrorpages,specifying
HTTP
retrievinginformationabout
resourcefactories
servletutilizing,addingitemtoshoppingcart
SSL
retrievinginformationabout
type,changesinServletAPI2.3
wiseuseof
withlogout
URLrewriting,using
authorization
checkingwithservlets
form-based
role-based

Authorizationheader,2nd
autocommitmode
Lastupdatedon3/20/2003
JavaServletProgramming,2ndEdition,©2001O'Reilly



©2001,O'Reilly&Associates,Inc.




JavaServletProgramming,2ndEdition

JavaServletProgramming,2ndEdition

[Symbol][A][B][C][D][E][F][G][H][I][J][K][L][M][N][O][P][Q][R][S][T][U]
[V][W][X][Y][Z]
B
See:workhorse,backgroundservletsbackgroundservlets

backgroundthreads,stopping
bankingapplications
form-basedcustomauthorization
transactions
Base64Decoderclass,downloading
Base64Encoderclass,websitefordownloading
basicauthentication
BASICvalue,tag
changingtoform-based

form-basedvs.
limitationsof
restrictingservletaccessinweb.xmlfile
sendinginformationwithHttpMessage
SSL-equippedservers,useof
bcc()
BEASystemWebLogicApplicationServer
beanNameattribute
Beansclass
bidirectionalcapabilities,non-HTTPsocketconnections


binarydata
large,databasehandlingof
readingfrominputstream
request/responsestructure,WAP
writingtooutputstreams
bind(),stepsinprocess
binding
objectstoRMIregistry
objectstosessions
returningnamesof
objectsundergivennames
BLOB(binarylargeobjects),JDBC2.0supportof
blockingfornewmessages
Bodyclass
body,response
clearing
bookmarkingURLs
Booleanoperators(&&,||,and!),usewith#ifdirectives

bridgedriver(JDBC-ODBC)
broadcastMessage(),2nd
doPost(),wrappingaround
BrowserHawk4Jproduct(Cyscape)
browsers
accesscontrol,partiallytrustedapplets
appletrequests,handling
charsets,displayingresponseswith
compression,supportfor


cookies
useof
digestauthentication,supportof
fileuploadsupport
hiddenformfields,supportfor
HTMLformswithlocalizedcontent
internationalizationcapabilities
InternetExplorer
languagepreferences,specifying
multiplewindows,sessiontrackingand
NetscapeNavigator
non-HTTPservers,inabilitytocommunicatewith
reloadingpages,If-Modified-Sinceheader
requestURLsand
RMIcommunication,limitedsupportfor
serverkeys,checkingvalidityof
servletdebugging,usein
URLrewriting,supportfor
WML,supportfor

BufferedImageclass
BufferedReaderclass
buffering
inputandoutput,servletperformancetuning
responses
settingbuffersize
serverlogs,stoppingforservletdebugging
BugIdCustomizerclass(example),2nd
buildDocument()
businesslogic
classeshandlingRMI,HTTPandsocketclientrequests
EnterpriseJavaBeans,implementingwith
includinginmiddleware
WebMacroframework,programming


×