会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

JSP 应用框架外文翻译、中英对照、英汉互译.doc

  • 资源星级:
  • 资源大小:62.50KB   全文页数:11页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

JSP 应用框架外文翻译、中英对照、英汉互译.doc

1JSPAPPLICATIONFRAMEWORKS1.1WHATAREAPPLICATIONFRAMEWORKSAframeworkisareusable,semicompleteapplicationthatcanbespecializedtoproducecustomapplicationsJohnson.Likepeople,softwareapplicationsaremorealikethantheyaredifferent.Theyrunonthesamecomputers,expectinputfromthesamedevices,outputtothesamedisplays,andsavedatatothesameharddisks.Developersworkingonconventionaldesktopapplicationsareaccustomedtotoolkitsanddevelopmentenvironmentsthatleveragethesamenessbetweenapplications.Applicationframeworksbuildonthiscommongroundtoprovidedeveloperswithareusablestructurethatcanserveasthefoundationfortheirownproducts.AframeworkprovidesdeveloperswithasetofbackbonecomponentsthathavethefollowingcharacteristicsFrameworksaretheclassicbuildversusbuyproposition.Ifyoubuildit,youwillunderstanditwhenyouaredonebuthowlongwillitbebeforeyoucanrollyourownIfyoubuyit,youwillhavetoclimbthelearningcurveandhowlongisthatgoingtotakeThereisnorightanswerhere,butmostobserverswouldagreethatframeworkssuchasStrutsprovideasignificantreturnoninvestmentcomparedtostartingfromscratch,especiallyforlargerprojects.1.2OTHERTYPESOFFRAMEWORKSTheideaofaframeworkappliesnotonlytoapplicationsbuttoapplicationcomponentsaswell.Throughoutthisarticle,weintroduceothertypesofframeworksthatyoucanusewithStruts.TheseincludetheLucenesearchengine,theScaffoldtoolkit,theStrutsvalidator,andtheTilestaglibrary.Likeapplicationframeworks,thesetoolsprovidesemicompleteversionsofasubsystemthatcanbespecializedtoprovideacustomcomponent.Someframeworkshavebeenlinkedtoaproprietarydevelopmentenvironment.ThisisnotthecasewithStrutsoranyoftheotherframeworksshowninthisbook.YoucanuseanydevelopmentenvironmentwithStrutsVisualAgeforJava,JBuilder,Eclipse,Emacs,andTextpadareallpopularchoicesamongStrutsdevelopers.IfyoucanuseitwithJava,youcanuseitwithStruts.1.3ENABLINGTECHNOLPGIESApplicationsdevelopedwithStrutsarebasedonanumberofenablingtechnologies.ThesecomponentsarenotspecifictoStrutsandunderlieeveryJavawebapplication.Areason2thatdevelopersuseframeworkslikeStrutsistohidethenastydetailsbehindacronymslikeHTTP,CGI,andJSP.AsaStrutsdeveloper,youdontneedtobeanalphabetsoupguru,butaworkingknowledgeofthesebasetechnologiescanhelpyoudevisecreativesolutionstotrickyproblems.1.4HYPERTEXTTRANSFERPROTOCOLHTTPWhenmediatingtalksbetweennations,diplomatsoftenfollowaformalprotocol.Diplomaticprotocolsaredesignedtoavoidmisunderstandingsandtokeepnegotiationsfrombreakingdown.Inasimilarvein,whencomputersneedtotalk,theyalsofollowaformalprotocol.Theprotocoldefineshowdataistransmittedandhowtodecodeitonceitarrives.WebapplicationsusetheHypertextTransferProtocolHTTPtomovedatabetweenthebrowserrunningonyourcomputerandtheapplicationrunningontheserver.ManyserverapplicationscommunicateusingprotocolsotherthanHTTP.Someofthesemaintainanongoingconnectionbetweenthecomputers.Theapplicationserverknowsexactlywhoisconnectedatalltimesandcantellwhenaconnectionisdropped.Becausetheyknowthestateofeachconnectionandtheidentityofeachpersonusingit,theseareknownasstatefulprotocols.Bycontrast,HTTPisknownasastatelessprotocol.AnHTTPserverwillacceptanyrequestfromanyclientandwillalwaysprovidesometypeofresponse,eveniftheresponseisjusttosayno.Withouttheoverheadofnegotiatingandretainingaconnection,statelessprotocolscanhandlealargevolumeofrequests.ThisisonereasonwhytheInternethasbeenabletoscaletomillionsofcomputers.AnotherreasonHTTPhasbecometheuniversalstandardisitssimplicity.AnHTTPrequestlookslikeanordinarytextdocument.ThishasmadeiteasyforapplicationstomakeHTTPrequests.YoucanevensendanHTTPrequestbyhandusingastandardutilitysuchasTelnet.WhentheHTTPresponsecomesback,itisalsoinplaintextthatdeveloperscanread.ThefirstlineintheHTTPrequestcontainsthemethod,followedbythelocationoftherequestedresourceandtheversionofHTTP.ZeroormoreHTTPrequestheadersfollowtheinitialline.TheHTTPheadersprovideadditionalinformationtotheserver.Thiscanincludethebrowsertypeandversion,acceptabledocumenttypes,andthebrowserscookies,justtonameafew.Ofthesevenrequestmethods,GETandPOSTarebyfarthemostpopular.Oncetheserverhasreceivedandservicedtherequest,itwillissueanHTTPresponse.ThefirstlineintheresponseiscalledthestatuslineandcarriestheHTTPprotocolversion,anumericstatus,andabriefdescriptionofthestatus.Followingthestatusline,theserverwillreturnasetofHTTPresponseheadersthatworkinawaysimilartotherequestheaders.Aswementioned,HTTPdoesnotpreservestateinformationbetweenrequests.The3serverlogstherequest,sendstheresponse,andgoesblissfullyontothenextrequest.Whilesimpleandefficient,astatelessprotocolisproblematicfordynamicapplicationsthatneedtokeeptrackoftheirusers.CookiesandURLrewritingaretwocommonwaystokeeptrackofusersbetweenrequests.Acookieisaspecialpacketofinformationontheuserscomputer.URLrewritingstoresaspecialreferenceinthepageaddressthataJavaservercanusetotrackusers.Bothapproachesareseamless,andusingeithermeansextraworkwhendevelopingawebapplication.Onitsown,astandardHTTPwebserverdoesnottrafficindynamiccontent.Itmainlyusestherequesttolocateafileandthenreturnsthatfileintheresponse.ThefileistypicallyformattedusingHypertextMarkupLanguageHTMLW3C,HTMLthatthewebbrowsercanformatanddisplay.TheHTMLpageoftenincludeshypertextlinkstootherwebpagesandmaydisplayanynumberofothergoodies,suchasimagesandvideos.Theuserclicksalinktomakeanotherrequest,andtheprocessbeginsanew.Standardwebservershandlestaticcontentandimagesquitewellbutneedahelpinghandtoprovideuserswithacustomized,dynamicresponse.DEFINITIONStaticcontentontheWebcomesdirectlyfromtextordatafiles,likeHTMLorJPEGfiles.Thesefilesmightbechangedfromtimetotime,buttheyarenotalteredautomaticallywhenrequestedbyawebbrowser.Dynamiccontent,ontheotherhand,isgeneratedonthefly,typicallyinresponsetoanindividualizedrequestfromabrowser.1.5COMMONGATEWAYINTERFACECGIThefirstwidelyusedstandardforproducingdynamiccontentwastheCommonGatewayInterfaceCGI.CGIusesstandardoperatingsystemfeatures,suchasenvironmentvariablesandstandardinputandoutput,tocreateabridge,orgateway,betweenthewebserverandotherapplicationsonthehostmachine.Theotherapplicationscanlookattherequestsenttothembythewebserverandcreateacustomizedresponse.WhenawebserverreceivesarequestthatsintendedforaCGIprogram,itrunsthatprogramandprovidestheprogramwithinformationfromtheincomingrequest.TheCGIprogramrunsandsendsitsoutputbacktotheserver.Thewebserverthenrelaystheresponsetothebrowser.CGIdefinesasetofconventionsregardingwhatinformationitwillpassasenvironmentvariablesandhowitexpectsstandardinputandoutputtobeused.LikeHTTP,CGIisflexibleandeasytoimplement,andagreatnumberofCGIawareprogramshavebeenwritten.ThemaindrawbacktoCGIisthatitmustrunanewcopyoftheCGIawareprogramforeachrequest.Thisisarelativelyexpensiveprocessthatcanbogdownhighvolumesiteswherethousandsofrequestsareservicedperminute.AnotherdrawbackisthatCGIprograms4tendtobeplatformdependent.ACGIprogramwrittenforoneoperatingsystemmaynotrunonanother.1.6JAVASERVLETSSunsJavaServletplatformdirectlyaddressesthetwomaindrawbacksofCGIprograms.First,servletsofferbetterperformanceandutilizationofresourcesthanconventionalCGIprograms.Second,thewriteonce,runanywherenatureofJavameansthatservletsareportablebetweenoperatingsystemsthathaveaJavaVirtualMachineJVM.AServletlooksandfeelslikeaminiaturewebserver.Itreceivesarequestandrendersaresponse.But,unlikeconventionalwebservers,theServletapplicationprogramminginterfaceAPIisspecificallydesignedtohelpJavadeveloperscreatedynamicapplications.TheServletitselfissimplyaJavaclassthathasbeencompiledintobytecode,likeanyotherJavaobject.TheServlethasaccesstoarichAPIofHTTPspecificservices,butitisstilljustanotherJavaobjectrunninginanapplicationandcanleverageallyourotherJavaassets.Togiveconventionalwebserversaccesstoservlets,theservletsarepluggedintocontainers.TheServletcontainerisattachedtothewebserver.EachServletcandeclarewhatURLpatternsitwouldliketohandle.Whenarequestmatchingaregisteredpatternarrives,thewebserverpassestherequesttothecontainer,andthecontainerinvokestheServlet.ButunlikeCGIprograms,anewServletisnotcreatedforeachrequest.OncethecontainerinstantiatestheServlet,itwilljustcreateanewthreadforeachrequest.JavathreadsaremuchlessexpensivethantheserverprocessesusedbyCGIprograms.OncetheServlethasbeencreated,usingitforadditionalrequestsincursverylittleoverhead.Servletdeveloperscanusetheinitmethodtoholdreferencestoexpensiveresources,suchasdatabaseconnectionsorEJBHomeInterfaces,sothattheycanbesharedbetweenrequests.Acquiringresourceslikethesecantakeseveralsecondswhichislongerthanmanysurfersarewillingtowait.Theotheredgeoftheswordisthat,sinceservletsaremultithreaded,Servletdevelopersmusttakespecialcaretobesuretheirservletsarethreadsafe.1.7JAVASERVERPAGESWhileJavaservletsareabigstepupfromCGIprograms,theyarenotapanacea.Togeneratetheresponse,developersarestillstuckwithusingprintlnstatementstorendertheHTML.Codethatlookslikeout.printlnOnelineofHTML.out.printlnAnotherlineofHTML.ItisalltoocommoninservletsthatgeneratetheHTTPresponse.TherearelibrariesthatcanhelpyougenerateHTML,butasapplicationsgrowmorecomplex,Javadevelopersend5upbeingcastintotheroleofHTMLpagedesigners.Meanwhile,giventhechoice,mostprojectmanagersprefertodividedevelopmentteamsintospecializedgroups.TheylikeHTMLdesignerstobeworkingonthepresentationwhileJavaengineerssweatthebusinesslogic.Usingservletsaloneencouragesmixingmarkupwithbusinesslogic,makingitdifficultforteammemberstospecialize.Tosolvethisproblem,Sunturnedtotheideaofusingserverpagestocombinescriptingandtemplatingtechnologiesintoasinglecomponent.TobuildJavaServerPages,developersstartbycreatingHTMLpagesinthesameoldway,usingthesameoldHTMLsyntax.Tobringdynamiccontentintothepage,thedevelopercanalsoplaceJSPscriptingelementsonthepage.ScriptingelementsaretagsthatencapsulatelogicthatisrecognizedbytheJSP.YoucaneasilypickoutscriptingelementsonJSPpagesbylookingforcodethatbeginswith.TobeseenasaJSPpage,thefilejustneedstobesavedwithanextensionofjsp.WhenaclientrequeststheJSPpage,thecontainertranslatesthepageintoasourcecodefileforaJavaServletandcompilesthesourceintoaJavaclassfilejustasyouwoulddoifyouwerewritingaServletfromscratch.Atruntime,thecontainercanalsocheckthelastmodifieddateoftheJSPfileagainsttheclassfile.IftheJSPfilehaschangedsinceitwaslastcompiled,thecontainerwillretranslateandrebuildthepagealloveragain.ProjectmanagerscannowassignthepresentationlayertoHTMLdevelopers,whothenpassontheirworktoJavadeveloperstocompletethebusinesslogicportion.TheimportantthingtorememberisthataJSPpageisreallyjustaServlet.AnythingyoucandowithaServlet,youcandowithaJSP.1.8JAVABEANSJavaBeansareJavaclasseswhichconformtoasetofdesignpatternsthatmakethemeasiertousewithdevelopmenttoolsandothercomponents.DEFINITIONAJavaBeanisareusablesoftwarecomponentwritteninJava.ToqualifyasaJavaBean,theclassmustbeconcreteandpublic,andhaveanonargumentconstructor.JavaBeansexposeinternalfieldsaspropertiesbyprovidingpublicmethodsthatfollowaconsistentdesignpattern.Knowingthatthepropertynamesfollowthispattern,otherJavaclassesareabletouseintrospectiontodiscoverandmanipulateJavaBeanproperties.TheJavaBeandesignpatternsprovideaccesstothebeansinternalstatethroughtwoflavorsofmethodsaccessorsareusedtoreadaJavaBeansstatemutatorsareusedtochangeaJavaBeansstate.Mutatorsarealwaysprefixedwithlowercasetokensetfollowedbythepropertyname.Thefirstcharacterinthepropertynamemustbeuppercase.Thereturnvalueisalways6voidmutatorsonlychangepropertyvalues,theydonotretrievethem.Themutatorforasimplepropertytakesonlyoneparameterinitssignature,whichcanbeofanytype.Mutatorsareoftennicknamedsettersaftertheirprefix.ThemutatormethodsignatureforaweightpropertyofthetypeDoublewouldbepublicvoidsetWeightDoubleweightAsimilardesignpatternisusedtocreatetheaccessormethodsignature.Accessormethodsarealwaysprefixedwiththelowercasetokenget,followedbythepropertyname.Thefirstcharacterinthepropertynamemustbeuppercase.Thereturnvaluewillmatchthemethodparameterinthecorrespondingmutator.Accessorsforsimplepropertiescannotacceptparametersintheirmethodsignature.Notsurprisingly,accessorsareoftencalledgetters.TheaccessormethodsignatureforourweightpropertyispublicDoublegetWeightIftheaccessorreturnsalogicalvalue,thereisavariantpattern.Insteadofusingthelowercasetokenget,alogicalpropertycanusetheprefixis,followedbythepropertyname.Thefirstcharacterinthepropertynamemustbeuppercase.ThereturnvaluewillalwaysbealogicalvalueeitherbooleanorBoolean.Logicalaccessorscannotacceptparametersintheirmethodsignature.ThebooleanaccessormethodsignatureforanonpropertywouldbepublicbooleanisOnThecanonicalmethodsignaturesplayanimportantrolewhenworkingwithJavaBeans.OthercomponentsareabletousetheJavaReflectionAPItodiscoveraJavaBeanspropertiesbylookingformethodsprefixedbyset,is,orget.IfacomponentfindssuchasignatureonaJavaBean,itknowsthatthemethodcanbeusedtoaccessorchangethebeansproperties.SunintroducedJavaBeanstoworkwithGUIcomponents,buttheyarenowusedwitheveryaspectofJavadevelopment,includingwebapplications.WhenSunengineersdevelopedtheJSPtagextensionclasses,theydesignedthemtoworkwithJavaBeans.ThedynamicdataforapagecanbepassedasaJavaBean,andtheJSPtagcanthenusethebeanspropertiestocustomizetheoutput.Resourcehttp//book.huihoo.com/pdf/introductiontomachinelearning/7JSP应用框架1.1什么是应用框架框架(framework)是可以被重用的一种半成品的应用程序,我们可以用它来制作专门的定制程序。这就如同人类一样,软件应用的相同点要远远大于不同点。它们在相同的机器上运行,把信息输入相同的设备,用相同的显示设备显示,并将数据村存储到相同的硬件设备中。传统的桌面开发应用的开发人员更习惯于使用可以涵盖应用开发同一性的工具包和开发环境。框架提供给开发人员这些公共基础上的应用框架从而为他们的产品提供可重用服务的基本架构。框架是经典的构建购买命题。如果你独立构建它那当你可以独立完成的时候你就会理解它,但是你又花费了多长时间来用之自如呢如果你购买了它,你必须得克服学习曲线并且学习它将话费你大约多长时间这里没有明确的答案,因此许多专家会认为,例如Struts这样的框架能提供比全新的开发更显著的投资回报,特别是对大型项目来说尤为显著。1.2其它类型的框架框架的思想不仅仅用于应用程序也可以应用于组件。通过这些,我们以前也提到过一些可以与在Struts一起使用的框架。其中包括Lucene搜索引擎,Scaffold工具包,Struts验证器,以及Tiles标签库等等。就像应用框架一样,这些工具也提供了一些可以用在用户的定制组件之中的半成品。某些框架已经呗限定于专门的开发环境之中。而Struts以及本文中涉及的其他框架却不是这样的。你可以在各种各样的开发环境中来使用Struts例如VisualAgeforJava,JBuilder,Eclipse,Emacs,甚至在Textpad中都可以使用Struts。只要是可以用来开发Java的工具都可以用来开发Struts。1.3使用的技术使用Struts的应用开发基于大量的其它技术。这些技术并不专属于Struts而是针对所有Javaweb应用的。开发人员之所以使用Struts之类的框架的一个原因是为了隐藏在HTTP,CGI,以及JSP之类技术后面的繁琐细节。作为一个Struts开发人员,你并不需要完全了解Struts的所有相关知识,但是它们有助于解决比较麻烦的问题。1.4超文本传输协议HTTP当两个国家质检进行交涉时,外交官们总是遵循一定的正式协议。设计外交协议的主要目的是避免误会从而防止谈判破裂。同样,当两台计算机需要进行会话时,它们也要遵循一个正式协议。这个协议定义数据如何传输以及到达后如何

注意事项

本文(JSP 应用框架外文翻译、中英对照、英汉互译.doc)为本站会员(liyun)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5