




免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
苏州大学文正学院本科生毕业设计(论文)外文文献JSPTechnology andServletsJSP profileJSP(JavaServerPages)isinitiatedbySunMicrosystems,Inc.,withmanycompaniestoparticipateintheestablishmentofadynamicwebpagetechnicalstandards.JSPtechnologysomewhatsimilartoASPtechnology,itisinthetraditionalHTMLwebpagedocument(*.htm,*.html)toinserttheJavaprogrammingparagraph(Scriptlet)andJSPtag(tag),thusJSPdocuments(*.jsp).UsingJSPdevelopmentoftheWebapplicationiscrossthatcanrunonLinux,isalsoavailableforotheroperatingsystems.JSPtechnologytousetheJavaprogramminglanguagepreparedbythecategoryofXMLtagsandscriptlets,toproducedynamicpagespackageprocessinglogic.Pagealsovisitbytagsandscriptletsexistintheservicessideoftheresourcesoflogic.JSPpagelogicandwebpagedesignanddisplayseparation,supportreusablecomponent-baseddesign,Web-basedapplicationdevelopmentisrapidandeasy.WebserverinthefaceofvisitsJSPpagerequest,thefirstimplementationoftheproceduresof,andthentogetherwiththeresultsoftheimplementationofJSPdocumentsinHTMLcodewiththereturntothecustomer.InserttheJavaprogrammingoperationofthedatabasecanbereorientedwebsites,inordertoachievetheestablishmentofdynamicpagesneededtofunction.JSPandJavaServlet,isintheimplementationoftheserver,usuallyreturnedtotheclientisanHTMLtext,aslongastheclientbrowserwillbeabletovisit.JSP1.0specificationofthefinalversionislaunchedinSeptember1999,Decemberhasintroduced1.1specifications.AtpresentrelativelynewisJSP1.2norms,JSP2.0normsofthedrafthasalsobeenintroduced.JSPpagesfromHTMLcodeandJavacodeembeddedinoneofthecomponents.JSscriptlanguagesynopsisJSisjavascrip,JavascriptisonekindthescriptlanguagewhichcomesbytheNetscapeLiveScriptdevelopment,themainpurposeistosolvetheserverterminallanguage,forinstancePerl,carry-overspeedquestion.Atthattimeservedtheendtoneedtocarryontheconfirmationtothedata,becausethenetworkspeedwasquiteslow,onlythen28.8kbps,theconfirmationstepwastestimeweretoomany.ThereforeNetscapebrowserNavigatorhasjoinedJavascript,hasprovidedthedataconfirmationbasicfunction.TheJavaScriptofficialnameis“ECMAScript”.ThisstandardbyECMAorganizationdevelopmentandmaintenance.ECMA262istheofficialJavaScriptstandard.ThisstandardbasedonJavaScript(Netscape)andJScript(Microsoft).Netscape(Navigator2.0)BrendanEichhasinventedthislanguage,startedfrom1996,alreadyappearedinallNetscapeandintheMicrosoftbrowser.TheECMA262developmentbeganin1996,in1997July,theECMAgeneralmeetinghasaccepteditsfirstedition.Thescriptusesonespecificdescriptivelanguage,restsoncertainformcompilationtobepossibletheexecutiondocument,isalsocalledasgreatorthebatchrundocument.Thescriptusuallymaytransfertemporarilybytheapplicationprocedureandcarryout.Eachkindofscriptpresentwidelyisappliedinthehomepagedesign,becausethescriptnotonlymayreducethehomepagethescaleandraisesthehomepagebrowsingspeed,moreovermayenrichthehomepageperformance,likeanimation,soundandsoon.Citesamostcommonexample,whenweclickinthehomepagetheEmailaddresscantransferOutlookExpressortheFoxmailthiskindofmailsoftwareautomatically,isrealizesthroughthescriptfunction.Alsobecauseofscriptthesecharacteristics,thehumanwhoharborsulteriormotivesbysomeareoftenusing.Forexamplejoinssomedestructioncomputersystemsorderinthescript,likethisworksastheuserbrowsinghomepage,oncetransfersthiskindofscript,willthencausetheuserthesystemtocomeundertheattack.Thereforetheusershouldactaccordingtovisitshomepagethetrustdegreeselectivesecurityrank,speciallyregardingtheseitselfcontentontheillegalhomepage,donotpermittheusescripteasily.Through“thesafeestablishment”thedialogbox,thechoice“thescript”underoptioneachkindofestablishmentmaywitheaserealizetoscriptbeingforbidandbeginsusing.JSPandServletsThetechnologyofJSPandServletisthemostimportanttechnologywhichuseJavatechnologytoexploitrequestofserver,anditisalsothestandardwhichexploitbusinessapplication.Javadevelopersprefertouseitforavarietyofreasons,oneofwhichisalreadyfamiliarwiththeJavalanguageforthedevelopmentofthistechnologyareeasytolearnJavatotheotherisapreparation,runeverywheretobringtheconceptofWebapplications,Toachieveaone-preparedeverywhererealized.Andmoreimportantly,iffollowedsomeoftheprinciplesofgooddesign,itcanbesaidofseparatingandcontenttocreatehigh-quality,reusable,easytomaintainandmodifytheapplication.Forexample,ifthedocumentinHTMLembeddedJavacodetoomuch(script),willleadthedevelopedapplicationisextremelycomplex,difficulttoread,itisnoteasyreuse,butalsoforfuturemaintenanceandmodificationwillalsocausedifficulties.Infact,CSDNtheJSP/Servletforum,canoftenseesomequestions,thecodeisverylong,canlogicisnotveryclear,alargenumberofHTMLandJavacodemixedtogether.Thisistherandomdevelopmentofthedefects.EarlydynamicpagesmainlyCGI(CommonGatewayInterface,publicGatewayInterface)technology,youcanusedifferentlanguagesoftheCGIprograms,suchasVB,C/C+orDelphi,andsoon.ThoughthetechnologyofCGIisdevelopedandpowerful,becauseofdifficultiesinprogramming,andlowefficiency,modifycomplexshortcomings,itisgraduallybeingreplacedbythetrend.Ofallthenewtechnology,JSP/Servletwithmoreefficientandeasytoprogram,morepowerful,moresecureandhasagoodportability,theyhavebeenmanypeoplebelievethatthefutureisthemostdynamicsiteofthefuturedevelopmentoftechnology.SimilartoCGI,Servletsupportrequest/responsemodel.Whenacustomersubmitarequesttotheserver,theserverpresentedtherequestServlet,Servletresponsibleforhandlingrequestsandgeneratearesponse,andthengavetheserver,andthenfromtheserversenttothecustomer.AndtheCGIisdifferent,Servletnotgenerateanewprocess,butwithHTTPServeratthesameprocess.Itthreadsthroughtheuseoftechnology,reducetheservercosts.Servlethandlingoftherequestprocessisthis:Whenreceivedfromtheclientsrequest,callingservicemethods,themethodofServletarrivalofthefirstjudgementiswhattypeofrequest(GET/POST/HEAD),thencallstheappropriatetreatment(DoGet/doPost/doHead)andgeneratearesponse.Althoughsuchacomplex,infact,simplysaidtoServletisaJavaclass.AndthegeneralcategoryofthedifferenceisthatthistypeoperatinginaServletcontainer,whichcanprovidesessionmanagementandtargetedlifecyclemanagement.SothatwhenyouusetheServlet,youcangetallthebenefitsoftheJavaplatform,includingthesafetyofthemanagement,useJDBCaccessthedatabaseandcrossplatformcapability.Moreover,Servletusingthread,andcandevelopmoreefficientWebapplications.JSPtechnologyisakeyJ2EEtechnology,itatahigherlevelofabstractionofaServlet.ItallowsconventionalstaticanddynamicHTMLcontentgeneratedbycombininganHTMLpagelookslike,butasaServlettorun.TherearemanycommercialapplicationserversupportJSPtechnology,suchasBEAWebLogic,IBMWebSphere,JRun,andsoon.JSPandServletusemorethansimple.IfyouhaveaJSPsupportforWebservers,andaJSPdocument,youcanputitFangdaoanystaticHTMLfilescanbeplaced,donothavetocompile,donothavetopack,donothavetoClassPathsettings,youcanvisitasordinaryWebItdidvisit,theserverwillautomaticallyhelpyoutodootherwork.JSPdocumentlookslikeanordinarystaticHTMLdocument,butinsidecontainsanumberofJavacode.Ituses.Jspthesuffix,usedtotelltheserverthisdocumentinneedofspecialtreatment.WhenwevisitaJSPpage,thedocumentwillfirstbetranslatedintoaJSPengineJavasourcefiles,isactuallyaServlet,andcompiler,andthen,likeotherServlet,fromServletenginetohandle.Servletengineofthistypeloading,handlingrequestsfromcustomers,andtheresultsreturnedtothecustomer.Afteranothervisitthispagetothecustomer,aslongasthepapertherehavebeennochanges,JSPenginehasbeenloadeddirectlycalltheServlet.Ifyouhavealreadybeenmodified,itwillbeonceagaintheimplementationoftheaboveprocess,translate,compileandload.Infact,thisistheso-calledfirstpersontopunishment.Becausewhenthefirstvisittotheimplementationofaseriesoftheaboveprocess,sowillspendsometimeaftersuchavisitwouldnot.JavaservletsofferapowerfulAPIthatprovidesaccesstoalltheinformationabouttherequest,thesession,biningJSPwithservletsletsyouclearlyseparatetheapplicationlogicfromthepresentationoftheapplication;inotherwords,itletsyouusethemostappropriatecomponenttypefortherolesofModel,ViewandController.Servlets,Filters,andListenersAservletisaJavaclassthatextendsaserverwithfunctionalityforprocessingarequestandproducingaresponse.ItsimplementedusingtheclassesandinterfacesdefinedbytheServletAPI.TheAPIconsistsoftwopackages:thejavax.servletpackagecontainsclassesandinterfacesthatareprotocolindependent,whilethejavax.servlet.httppackageprovidesHTTP-specificextensionsandutilityclasses.Whatmakesaservletaservletisthattheclassimplementsaninterfacenamedjavax.servlet.Servlet,eitherdirectlyorbyextendingoneofthesupportclasses.Thisinterfacedefinesthemethodsusedbythewebcontainertomanageandinteractwiththe servlet.AservletforprocessingHTTPrequeststypicallyextendsthejavax.servlet.http.HttpServletclass.ThisclassimplementstheServletinterfaceandprovidesadditionalmethodssuitableforHTTPprocessing.ServletLifecycleThewebcontainermanagesallaspectsoftheservletslifecycle.Itcreatesaninstanceoftheservletclasswhenneeded,passesrequeststotheinstanceforprocessing,andeventuallyremovestheinstance.ForanHttpServlet,thecontainercallsthefollowingmethodsattheappropriatetimesintheservletlifecycle.BesidesthedoGet()anddoPost()methods,therearemethodscorrespondingtotheotherHTTPmethods:doDelete(),doHead(),doOptions(),doPut(),anddoTrace().Typicallyyoudontimplementthesemethods;theHttpServletclassalreadytakescareofHEAD,OPTIONS,andTRACErequestsinawaythatssuitableformostservlets,andtheDELETEandPUTHTTPmethodsarerarelyusedinawebapplication.Itsimportanttorealizethatthecontainercreatesonlyoneinstanceofeachservlet.Thismeansthattheservletmustbethreadsafe-abletohandlemultiplerequestsatthesametime,eachexecutingasaseparatethreadthroughtheservletcode.Withoutgettinglostindetails,yousatisfythisrequirementwithregardstoinstancevariablesifyoumodifythereferencedobjectsonlyintheinit()anddestroy()methods,andjustreadthemintherequestprocessingmethods.CompilingandInstallingaServletTocompileaservlet,youmustfirstensurethatyouhavetheJARfilecontainingallServletAPIclassesintheCLASSPATHenvironmentvariable.TheJARfileisdistributedwithallwebcontainers.Tomcatincludesitinafilecalledservlet.jar,locatedinthecommon/libdirectory.OnaWindowsplatform,youincludetheJARfileintheCLASSPATH.ReadingaRequestOneoftheargumentspassedtothedoGet()anddoPost()methodsisanobjectthatimplementstheHttpServletRequestinterface.Thisinterfacedefinesmethodsthatprovideaccesstoawealthofinformationabouttherequest.GeneratingaResponseBesidestherequestobject,thecontainerpassesanobjectthatimplementstheHttpServletResponseinterfaceasanargumenttothedoGet()anddoPost()methods.Thisinterfacedefinesmethodsforgettingawriterorstreamfortheresponsebody.Italsodefinesmethodsforsettingtheresponsestatuscodeandheaders.UsingFiltersandListenersTheservletspecificationdefinestwocomponenttypesbesideservlets:filtersandlisteners.ThesetwotypeswereintroducedintheServlet2.3specification,soifyoureusingacontainerthatdoesntyetsupportthisversionofthespecification,Imafraidyoure outofluck.FiltersAfilterisacomponentthatcaninterceptarequesttargetedforaservlet,JSPpage,orstaticpage,aswellastheresponsebeforeitssenttotheclient.Thismakesiteasytocentralizetasksthatapplytoallrequests,suchasaccesscontrol,logging,andchargingforthecontentortheservicesofferedbytheapplication.Afilterhasfullaccesstothebodyandheadersoftherequestandresponse,soitcanalsoperformvarioustransformations.Oneexampleiscompressingtheresponsebodyifthe Acceptlanguagerequestheaderindicatesthattheclientcanhandleacompressedresponse.AfiltercanbeappliedtoeitheraspecificservletortoallrequestsmatchingaURLpattern,suchasURLsstartingwiththesamepathelementsorhavingthesameextension.ListenersListenersallowyourapplicationtoreacttocertainevents.PriortoServlet2.3,youcouldhandleonlysessionattributebindingevents(triggeredwhenanobjectwasaddedorremovedfromasession).Youcoulddothisbylettingtheobjectsavedasasessionattributimplementthe HttpSessionBindingListenerinterface.Withthenewinterfacesintroducedinthe2.3versionofthespecification,youcancreatelistenersforservletcontextandsessionlifecycleeventsaswellassessionactivationandpassivationevents(usedbyacontainerthattemporarilysavessessionstatetodiskormigratesasessiontoanotherserver).Anewsessionattributeeventlisteneralsomakesitpossibletodealwithattributebindingeventsforallsessionsinoneplace,insteadofplacingindividuallistenerobjectsineachsession.ThenewtypesoflistenersfollowthestandardJavaeventmodel.Inotherwords,alistenerisaclassthatimplementsoneormoreofthelistenerinterfaces.Theinterfacesdefinemethodsthatcorrespondtoevents.Thelistenerclassisregisteredwiththecontainerwhentheapplicationstarts,andthecontainerthencallstheeventmethodsattheappropriatetimes.InitializingSharedResourcesUsingaListenerBeanslikethistypicallyneedtobeinitializedbeforetheycanbeused.Forinstance,theymayneedareferencetoadatabaseorsomeotherexternaldatasourceandmaycreateaninitialinformationcacheinmemorytoprovidefastaccesseventothefirstrequestfordata.YoucanincludecodeforinitializationofthesharedresourcesintheservletandJSPpagesthatneedthem,butamoremodularapproachistoplaceallthiscodeinoneplaceandlettheotherpartsoftheapplicationworkontheassumptionthattheresourcesarealreadyinitializedandavailable.Anapplicationlifecyclelistenerisaperfecttoolforthistypeofresourceinitialization.Thistypeoflistenerimplementsthejavax.servlet.ServletContextListenerinterface,withmethodscalledbythecontainerwhentheapplicationstartsandwhenitshutsdown.PickingtheRightComponentTypeforEachTaskTheProjectBillboardapplicationintroducedisafairlycomplexapplication.Halfthepagesarepurecontrollerandbusinesslogicprocessing,itaccessesadatabasetoauthenticateusers,andmostpagesrequireaccesscontrol.Inreallife,itwouldlikelycontainevenmorepages,forinstance,pagesforaccesstoashareddocumentarchive,timeschedules,andasetofpagesforadministration.Astheapplicationevolves,itmaybecomehardtomaintainasapureJSPapplication.Itseasytoforgettoincludetheaccesscontrolcodeinnewpages.ThisisclearlyanapplicationthatcanbenefitfromusingacombinationofJSPpagesandthecomponenttypesdefinedbytheservletspecificationfortheMVCroles.Letslookatthemainrequirementsandseehowwecanmapthemtoappropriatecomponenttypes:Databaseaccessshouldbeabstracted,toavoidknowledgeofaspecificdataschemaordatabaseengineinmorethanonepartoftheapplication:beansintheroleofModelcanbeusedtoaccomplishthis.Thedatabaseaccessbeansmustbemadeavailabletoallotherpartsoftheapplicationwhenitstarts:anap
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肺解剖的考试题及答案
- 方言8级考试题及答案
- 2025个人小额信用贷款借款合同范本
- 冬季四防考试题及答案
- 中国裸铜线项目创业投资方案
- 华能黑龙江公司新能源分公司-企业报告(业主版)
- 电路基础考试题及答案
- 电工电子联考试题及答案
- 电叉车操作考试题及答案
- 中国乙xi柠檬酸三丁酯(ATBC)项目创业投资方案
- 二构钢筋包工合同范本
- 医院培训课件:《中医护理文书书写规范》
- 2025团校入团积极分子100题题库(含答案)
- 2025-2030中国皮肤外用药市场竞品分析与产品定位报告
- 2025北京市大兴区人民法院临时辅助用工招聘6人备考考试题库附答案解析
- 2025贵州黔西南州州直机关面向全州遴选公务员31人考试模拟试题及答案解析
- 2025福建省盐业集团有限责任公司招聘13人笔试历年参考题库附带答案详解
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 应力腐蚀和氢脆
- GA/T 830-2021尸体解剖检验室建设规范
- 基于STM32的自动灌溉系统
评论
0/150
提交评论