计算机 JSP web 外文翻译 外文文献 英文文献.docx
- 文档编号:28379147
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:13
- 大小:61.63KB
计算机 JSP web 外文翻译 外文文献 英文文献.docx
《计算机 JSP web 外文翻译 外文文献 英文文献.docx》由会员分享,可在线阅读,更多相关《计算机 JSP web 外文翻译 外文文献 英文文献.docx(13页珍藏版)》请在冰豆网上搜索。
计算机JSPweb外文翻译外文文献英文文献
外文资料
所译外文资料:
作者:
DanMalks
书名:
ProfessionalJSP
出版时间:
2000.7.26
所译章节:
Chapter12
12.1Introductory
GoodWebapplicationdesigntriestoseparatebusinessobjects,presentation,andmanipulationoftheobjectsintodistinctlayers.OnebenefitofusingJavaServerPagestechnologyisthatitallowsustoseparatetheroleofaWebdesignermoreclearlyfromthatofasoftwaredeveloper.Whileonasmall-scaleproject,oneindividualmayoccupybothroles,onalargerproject,theyarelikelytobeseparateanditisbeneficialtoseparatetheirworkflowsasmuchaspossible.DesigningthearchitectureforyourWebapplicationiscrucialtothisseparation.
12.2JSParchitecture
WewillexamineavarietyofwaystoarchitectasystemwithJavaServerPages,servlets,andJavaBeans.Wewillseeaseriesofdifferentarchitectures,eachadevelopmentoftheonebefore.Thediagrambelowshowsthisprocessinoutline;theindividualpartsofthediagramwillbeexplainedinturnlaterinthisarticle.
JSParchitecture:
WhenSunintroducedJavaServerPages,somewerequicktoclaimthatservletshadbeenreplacedasthepreferredrequesthandlingmechanisminWeb-enabledenterprisearchitectures.AlthoughJSPisakeycomponentoftheJava2PlatformEnterpriseEdition(J2EE)specification,servingasthepreferredrequesthandlerandresponsemechanism,wemustinvestigatefurthertounderstanditsrelationshipwithservlets.
OthersectionsofProfessionalJSPexplaintheimplementationdetailsofJSPsourcetranslationandcompilationintoaservlets.UnderstandingthatJSPisbuiltontopoftheservletAPI,andusesservletsemantics,raisessomeinterestingquestions.Shouldwenolongerdevelopstand-aloneservletsinourWeb-enabledsystems?
IstheresomewaytocombineservletsandJSPs?
Ifso,wheredoweplaceourJavacode?
Arethereanyothercomponentsinvolvedintherequestprocessing,suchasJavaBeans?
Ifso,wheredotheyfitintothearchitectureandwhattypeofroledotheyfulfill?
Itisimportanttounderstandthat,althoughJSPtechnologywillbeapowerfulsuccessortobasicservlets,theyhaveanevolutionaryrelationshipandcanbeusedinacooperativeandcomplementarymanner.
Giventhispremise,wewillinvestigatehowthesetwotechnologies,eachaJavaStandardExtension,canbeusedco-operativelyalongwithothercomponents,suchasJavaBeans,tocreateJava-basedWeb-enabledsystems.WewillexaminearchitecturalissuesastheyrelatetoJSPandservletsanddiscusssomeeffectivedesignswhilelookingatthetradeoffsofeach.Beforejumpingdirectlyintoadiscussionofspecificarchitectures,though,wewillbrieflyexaminetheneedtodevelopavarietyofarchitectures.
12.3Codefactoringandroleseparation
OneofthemainreasonswhytheJavaServerPagestechnologyhasevolvedintowhatitistoday(andit'sstillevolving)istheoverwhelmingtechnicalneedtosimplifyapplicationdesignbyseparatingdynamiccontentfromstatictemplatedisplaydata.ThefoundationforJSPwaslaiddownwiththeinitialdevelopmentoftheJavaWebServerfromSun,whichusedpagecompilationandfocusedonembeddingHTMLinsideJavacode.Asapplicationscametobebasedmoreonbusinessobjectsandn-tierarchitectures,thefocuschangedtoseparatingHTMLfromJavacode,whilestillmaintainingtheintegrityandflexibilitythetechnologyprovided.
InChapter5,JSPSessions,inProfessionalJSP,wesawhowbeansandobjectscanbeboundtodifferentcontextsjustbydefiningacertainscope.Goodapplicationdesignbuildsonthisideaandtriestoseparatetheobjects,thepresentation,andthemanipulationoftheobjectsintodistinct,distinguishablelayers.
AnotherbenefitofusingJSPisthatitallowsustomorecleanlyseparatetherolesofaWebproduction/HTMLdesignerindividualfromasoftwaredeveloper.RememberthatacommondevelopmentscenariowithservletswastoembedtheHTMLpresentationmarkupwithintheJavacodeoftheservletitself,whichcanbetroublesome.Inourdiscussion,wewillconsidertheservletsolelyasacontainerforJavacode,whileourentireHTMLpresentationtemplateisencapsulatedwithinaJSPsourcepage.ThequestionthenarisesastohowmuchJavacodeshouldremainembeddedwithinourJSPsourcepages,andifitistakenoutoftheJSPsourcepage,whereshoulditreside?
Let'sinvestigatethisfurther.OnanyWeb-basedproject,multiplerolesandresponsibilitieswillexist.Forexample,anindividualwhodesignsHTMLpagesfulfillsaWebproductionrolewhilesomeonewhowritessoftwareintheJavaprogramminglanguagefulfillsasoftwaredevelopmentrole.
Onsmall-scaleprojectstheserolesmightbefilledbythesameindividual,ortwoindividualsworkingcloselytogether.Onalargerproject,theywilllikelybefilledbymultipleindividuals,whomightnothaveoverlappingskillsets,andarelessproductiveifmadetoodependentontheworkflowoftheother.
IfcodethatcouldbefactoredouttoamediatingservletisincludedinsteadwithinHTMLmarkup,thenthepotentialexistsforindividualsinthesoftwaredevelopmentroleandthoseintheWebproductionroletobecomemoredependentthannecessaryontheprogressandworkflowoftheother.Suchdependenciesmaycreateamoreerror-proneenvironment,whereinadvertentchangestocodebyotherteammembersbecomemorecommon.
Thisgivesussomeinsightintoonereasonwhywecontinuetodevelopbasicservlets:
theyareanappropriatecontainerforourcommonJavacodethathasbeenfactoredoutofourJSPpages,givingoursoftwaredevelopmentteamanareaoffocusthatisaslooselycoupledtoourJSPpagesaspossible.Certainly,therewillbeaneedforthesesameindividualstoworkwiththeJSPsourcepages,butthedependencyisreduced,andthesepagesbecomethefocusoftheWeb-productionteaminstead.Ofcourse,ifthesameindividualfulfillsbothroles,asistypicalonasmallerproject,suchdependenciesarenotamajorconcern.
So,weshouldtrytominimizetheJavacodethatweincludewithinourJSPpage,inordertoupholdthiscleanerseparationofdeveloperroles.Aswehavediscussed,someofthisJavacodeisappropriatelyfactoredtoamediatingservlet.Codethatiscommontomultiplerequests,suchasauthentication,isagoodcandidateforamediatingservlet.Suchcodeisincludedinoneplace,theservlet,insteadofpotentiallybeingcutandpastedintomultipleJSPs.
WewillalsowanttoremovemuchofourbusinesslogicanddataaccesscodefromourJSPpageandencapsulateitwithinJavaBeans,calledworkerorhelperbeans.WestarttoseeapatternofcodemovementfromourJSPintotwoareas:
aservlet(orJSP)thatsitsinfrontofthemainJSP,andJavaBeansthatsitinback.Werefertothiscommonpatternas"FactorForward--FactorBack,"asshowninthefigurebelow:
FactorForward--FactorBack:
AnotherwaytothinkaboutwhatcodeshouldbelocalizedandencapsulatedisthatourJSPpageshouldrevealaslittleaspossibleofourJavacodeimplementationdetails.
Rather,thepageshouldcommunicateourintentbyrevealingthedelegatingmessageswesendtoworkerbeans,instructingthemtogetstatefromamodel,ortocompletesomebusinessprocessing.
12.4Redirectingandforwarding
RedirectingandforwardingrequestsinJSPsandservletstakesplaceoften,anditisimportanttounderstandthesubtledifferencebetweenthesetwomechanismseventhoughtheyachievethesamegoal(thatis,aclientasksforaresourceontheserverandadifferentresourceisservedtoit):
●WhenaservletorJSPresourcechoosestoredirecttheclient(usingaresponse.sendRedirect(url))therequestobjectdoesnotreachthesecondresourcedirectlysincetheunderlyingimplementationisanHTTPredirect.TheserversendsanHTTP302messagebacktotheclienttellingitthattheresourcehasmovedtoanotherURL,andthattheclientshouldaccessitthere.ThebottomlineisthatthelifecycleoftheinitialrequestobjectthatwasaccessedinthefirstJSPterminateswiththeendoftheservicemethodinthefirstJSP,orwiththereplyfromtheserver.
●Inaforwardmechanismtherequestobjectisforwardedtothesecondresource,thusmaintaininganyobjectbindingstotherequestanditsstate,withoutaroundtriptotheclientonthenetwork.ThisallowsthefirstJSPtodosomeworkinternallyandthensendinformationtothesecondJSPaskingittodoitsbit.(Servletsusedachainingmechanismtodothis).SeeChapter5,JSPSessions,inProfessionalJSPtogetaclearerpictureofscope.JSPsandservletscanusetheforwardingmechanismtodelegatetasksamongthemselves,intheprocessofseparatingdynamicandstaticcontent.
Now,let'sinvestigatehowwebuildthesesystems.
12.5Architectures
BeforediscussingspecificarchitecturesthatwecanusetobuildsystemswithservletsandJSP,itisworthmentioningtwobasicwaysofusingtheJSPtechnology.Eachofthearchitecturesdiscussedinthischapterwillbebasedononeoftheseapproaches:
●Thefirstmethodisreferredtohereasthepage-centric(orclient-server)approach.ThisapproachinvolvesrequestinvocationsbeingmadedirectlytoJSPpage.
●Inthesecondmethod,thedispatcher(orn-tier)approach,abasicservletorJSPactsasamediatororcontroller,delegatingrequeststoJSPpagesandJavaBeans.
Wewillexaminetheseapproachesinlightofasimpleexample,whichwillevolvetosatisfytherequirementsofvariousscenarios.TheinitialscenarioinvolvesprovidingaWebinterfaceforguessingstatisticsaboutasoon-to-be-bornbaby.Theguessesarestored,andcanbereviewedlaterbytheparents,toseewhohasguessedtheclosest.Astherequirementscenariosbecomemoresop
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 JSP web 外文翻译 外文文献 英文文献 外文 翻译 文献 英文