畢業(yè)設計論文基于JSP的中華美食網(wǎng)網(wǎng)站設計_第1頁
畢業(yè)設計論文基于JSP的中華美食網(wǎng)網(wǎng)站設計_第2頁
畢業(yè)設計論文基于JSP的中華美食網(wǎng)網(wǎng)站設計_第3頁
畢業(yè)設計論文基于JSP的中華美食網(wǎng)網(wǎng)站設計_第4頁
畢業(yè)設計論文基于JSP的中華美食網(wǎng)網(wǎng)站設計_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

至此為止,我的本科畢業(yè)設計的主要工作以及對畢業(yè)設計的總體介紹就基本告以結(jié)束了。從一開始的自主選題,到后來的構(gòu)思初步成型,提交開題報告,再到最后的程序設計,論文定稿,經(jīng)歷了將近一個學期的時間。在這一百多個日子里,我經(jīng)歷了一開始的迷茫與無從下手,經(jīng)歷了無法解決bug的沮喪,也經(jīng)歷過無數(shù)個無眠的夜晚。在這眾多的日日夜夜里,多虧了校內(nèi)和校外指導老師的耐心指導,以及周圍同學的熱心幫助,我才可以順利地完成自己的任務,獲得今天的成果。中華美食網(wǎng)的設計,對我來說還是有一定難度的,但是,有難度才會有挑戰(zhàn),有挑戰(zhàn)才能有進步。在這一次的設計里,我付出了比以往的課程設計多幾倍的心血與耐心,本次的任務,自主完成,沒有了團隊合作,沒有了對隊友的依賴,所以,壓力也比以往大了好多。但是,正是因為有壓力,才大大激發(fā)了我迎難而上的動力,也是這些動力,使我最大程度的將大學四年來學到的知識加以利用,并且也學到了很多書本中和課堂上沒有接觸過的知識。就我個人來說,此次畢業(yè)設計的成果,我還是比較滿意的,因為作為一個初出茅廬的大四畢業(yè)生,我已經(jīng)盡了最大的努力去不斷開發(fā)它、完善它,并且見證了它的成功運行。但是,客觀來說,我所設計的網(wǎng)站還遠遠比不上任何一個如今投入運營的網(wǎng)站,我距離一個出色、成功的網(wǎng)站工程師,或者IT工作者,還差得很遠。隨著畢業(yè)設計的結(jié)束,我的本科生活也即將要結(jié)束了,但是,這絕不會是我學習生涯的結(jié)束,相反,我將會用我的一生,去汲取那些我還沒有了解的知識,最后,我要謝謝老師以及讀者可以花費寶貴的時間及耐心,來閱讀我的論文,你們的支持會是我最寶貴的財富!參考文獻[1]孫衛(wèi)琴,李洪成.《Tomcat與JavaWeb開發(fā)技術(shù)詳解》.電子工業(yè)出版社,2003年6月:1-205[2]BruceEckel.《Java編程思想》.機械工業(yè)出版社,2003年10月:1-378[3]FLANAGAN.《Java技術(shù)手冊》.中國電力出版社,2002年6月:1-465[4]孫一林,彭波.《Java數(shù)據(jù)庫編程實例》.清華大學出版社,2002年8月:30-210[5]JuberiasPatricia;BelchinMoises.WebProgrammingwithDart.Apress,2015[6]GormanTim;JrgensenInger;CaffreyMelanie.BeginningOracleSQL:forOracleDatabase12c.Apress.2014[7]耿祥義,張躍平.《JSP實用教程》.清華大學出版社,2003年5月1日:1-354[8]孫涌.《現(xiàn)代軟件工程》.北京希望電子出版社,2003年8月:1-246[9]薩師煊,王珊.《數(shù)據(jù)庫系統(tǒng)概論》.高等教育出版社,2002年2月:3-460[10]Brown等.《JSP編程指南(第二版)》.電子工業(yè)出版社,2003年3月:1-268[11]清宏計算機工作室.《JSP編程技巧》.機械工業(yè)出版社,2004年5月:1-410[12]朱紅,司光亞.《JSPWeb編程指南》.電子工業(yè)出版社,2001年9月:34-307[13]賽奎春.《JSP工程應用與項目實踐》.機械工業(yè)出版社,2002年8月:23-294致謝在這次畢業(yè)設計任務的完成過程中,我要感謝的人有很多。首先,我要感謝對我的工作有很大幫助的校內(nèi)指導老師田玉玲老師,是您的嚴格要求和耐心指導,讓我不斷地學習新的知識,不斷地完善畢業(yè)設計過程中的每一步,不斷超越自己,獲得了很大進步。還要感謝我的校外指導老師陳朦朦老師,是您的耐心督促和細心教導,讓我發(fā)現(xiàn)了自己原來沒有發(fā)現(xiàn)的問題,也讓我一點點擺正了態(tài)度,養(yǎng)成了認真細心的優(yōu)秀品格。其次,我要感謝給予我四年難忘生活的母校:太原理工大學。如果沒有工大,我就不會有這段美好的大學生活,就不會獲得這么多寶貴的知識,也將不會有機會來完成自己的畢業(yè)設計。這四年的時間,母校給予我的絕不僅僅是那一紙文憑,她授予我的學習方法以及做人道理,將會成為我最寶貴的精神財富,令我受用終身!外文原文CombiningJSPandServletsThetechnologyofJSPandServletisthemostimportanttechnologywhichuseJavatechnologytoexploitrequestofserver,anditisalsothestandardwhichexploitbusinessapplication.Javadevelopersprefertouseitforavarietyofreasons,oneofwhichisalreadyfamiliarwiththeJavalanguageforthedevelopmentofthistechnologyareeasytolearnJavatotheotheris"apreparation,runeverywhere"tobringtheconceptofWebapplications,Toachievea"one-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:Whenreceivedfromtheclient'srequest,callingservicemethods,themethodofServletarrivalofthefirstjudgementiswhattypeofrequest(GET/POST/HEAD…),thencallstheappropriatetreatment(DoGet/doPost/doHead…)andgeneratearesponse.Althoughsuchacomplex,infact,simplysaidtoServletisaJavaclass.AndthegeneralcategoryofthedifferenceisthatthistypeoperatinginaServletcontainer,whichcanprovidesessionmanagementandtargetedlife-cyclemanagement.SothatwhenyouusetheServlet,youcangetallthebenefitsoftheJavaplatform,includingthesafetyofthemanagement,useJDBCaccessthedatabaseandcross-platformcapability.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-called"firstpersontopunishment."Becausewhenthefirstvisittotheimplementationofaseriesoftheaboveprocess,sowillspendsometimeaftersuchavisitwouldnot.JavaservletsofferapowerfulAPIthatprovidesaccesstoalltheinformationabouttherequest,thesession,andtheapplication.combiningJSPwithservletsletsyouclearlyseparatetheapplicationlogicfromthepresentationoftheapplication;inotherwords,itletsyouusethemostappropriatecomponenttypefortherolesofModel,ViewandController.Servlets,Filters,andListenersAservletisaJavaclassthatextendsaserverwithfunctionalityforprocessingarequestandproducingaresponse.It'simplementedusingtheclassesandinterfacesdefinedbytheServletAPI.TheAPIconsistsoftwopackages:thejavax.servletpackagecontainsclassesandinterfacesthatareprotocol-independent,whilethejavax.servlet.httppackageprovidesHTTP-specificextensionsandutilityclasses.Whatmakesaservletaservletisthattheclassimplementsaninterfacenamedjavax.servlet.Servlet,eitherdirectlyorbyextendingoneofthesupportclasses.Thisinterfacedefinesthemethodsusedbythewebcontainertomanageandinteractwiththeservlet.ServletLifecycleThewebcontainermanagesallaspectsoftheservlet'slifecycle.Itcreatesaninstanceoftheservletclasswhenneeded,passesrequeststotheinstanceforprocessing,andeventuallyremovestheinstance.ForanHttpServlet,thecontainercallsthefollowingmethodsattheappropriatetimesintheservletlifecycle.BesidesthedoGet()anddoPost()methods,therearemethodscorrespondingtotheotherHTTPmethods:doDelete(),doHead(),doOptions(),doPut(),anddoTrace().Typicallyyoudon'timplementthesemethods;theHttpServletclassalreadytakescareofHEAD,OPTIONS,andTRACErequestsinawaythat'ssuitableformostservlets,andtheDELETEandPUTHTTPmethodsarerarelyusedinawebapplication.It'simportanttorealizethatthecontainercreatesonlyoneinstanceofeachservlet.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,soifyou'reusingacontainerthatdoesn'tyetsupportthisversionofthespecification,I'mafraidyou'reoutofluck.FiltersAfilterisacomponentthatcaninterceptarequesttargetedforaservlet,JSPpage,orstaticpage,aswellastheresponsebeforeit'ssenttotheclient.Thismakesiteasytocentralizetasksthatapplytoallrequests,suchasaccesscontrol,logging,andchargingforthecontentortheservicesofferedbytheapplication.Afilterhasfullaccesstothebodyandheadersoftherequestandresponse,soitcanalsoperformvarioustransformations.OneexampleiscompressingtheresponsebodyiftheAccept-Languagerequestheaderindicatesthattheclientcanhandleacompressedresponse.AfiltercanbeappliedtoeitheraspecificservletortoallrequestsmatchingaURLpattern,suchasURLsstartingwiththesamepathelementsorhavingthesameextension.ListenersListenersallowyourapplicationtoreacttocertainevents.PriortoServlet2.3,youcouldhandleonlysessionattributebindingevents(triggeredwhenanobjectwasaddedorremovedfromasession).Youcoulddothisbylettingtheobjectsavedasasessionattribute(usingtheHttpSession.setAttribute()method)implementtheHttpSessionBindingListenerinterface.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.It'seasytoforgettoincludetheaccesscontrolcodeinnewpages.ThisisclearlyanapplicationthatcanbenefitfromusingacombinationofJSPpagesandthecomponenttypesdefinedbytheservletspecificationfortheMVCroles.Let'slookatthemainrequirementsandseehowwecanmapthemtoappropriatecomponenttypes:Databaseaccessshouldbeabstracted,toavoidknowledgeofaspecificdataschemaordatabaseengineinmorethanonepartoftheapplication:beansintheroleofModelcanbeusedtoaccomplishthis.Thedatabaseaccessbeansmustbemadeavailabletoallotherpartsoftheapplicationwhenitstarts:anapplicationlifecycleeventlisteneristheperfectcomponenttypeforthistask.Onlyauthenticatedusersmustbeallowedtousetheapplication:afiltercanperformaccesscontroltosatisfythisrequirement.RequestprocessingisbestdonewithJavacode:aservlet,actingastheController,fitsthebill.Itmustbeeasytochangethepresentation:thisiswhereJSPshines,actingastheView.Addingservlets,listeners,andfilterstothemixminimizestheneedforcomplexlogicintheJSPpages.PlacingallthiscodeinJavaclassesinsteadmakesitpossibletousearegularJavacompileranddebuggertofixpotentialproblems.CentralizedRequestProcessingUsingaServletWithaservletasthecommonentrypointforallapplicationrequests,yougaincontroloverthepageflowoftheapplication.Theservletcandecidewhichtypeofresponsetogeneratedependingontheoutcomeoftherequestedaction,suchasreturningacommonerrorpageforallrequeststhatfail,ordifferentresponsesdependingonthetypeofclientmakingtherequest.Withthehelpfromsomeutilityclasses,itcanalsoprovideservicessuchasinputvalidation,I18Npreparations,andingeneral,encourageamorestreamlinedapproachtorequesthandling.WhenyouuseaservletasaController,youmustdealwiththefollowingbasicrequirements:AllrequestsforprocessingmustbepassedtothesingleControllerservlet.Theservletmustbeabletodistinguishrequestsfordifferenttypesofprocessing.Hereareotherfeaturesyouwillwantsupportfor,eventhoughtheymaynotberequirementsforallapplications:Astrategyforextendingtheapplicationtosupportnewtypesofprocessingrequestsinaflexiblemanner.Amechanismforchangingthepageflowoftheapplicationwithoutmodifyingcode.MappingApplicationRequeststotheServletThefirstrequirementforusingaControllerservletisthatallrequestsmustpassthroughit.Thiscanbesatisfiedinmanyways.Ifyouhaveplayedaroundabitwithservletspreviously,you'reprobablyusedtoinvokingaservletwithaURIthatstartswith/myApp/servlet.ThisisaconventionintroducedbySunsJavaWebServer(JWS),thefirstproducttosupportservletsbeforetheAPIwasstandardized.Mostservletcontainerssupportthisconventiontoday,eventhoughit'snotformallydefinedintheservletspecification.中文翻譯JSP和Servlet結(jié)合使用

JSP和Servlet的技術(shù)是使用Java開發(fā)服務器端的最重要的技術(shù),并且它也是其中利用業(yè)務的標準。應用程序開發(fā)者喜歡使用它的原因有多種,其中之一是已經(jīng)熟悉了Java語言這一技術(shù)的發(fā)展很容易學習Java到另一種是“一次編寫,到處運行”帶來的概念Web應用程序,實現(xiàn)了“一個到處都是準備實現(xiàn)的。”而更重要的是,如果遵循一些良好的設計原則,可以說分離和內(nèi)容的創(chuàng)造高品質(zhì),可重復使用,易于維護和修改應用程序。例如,如果在HTML文檔嵌入的Java代碼過多(腳本),會導致該開發(fā)的應用是極其復雜的,difficultto讀,這是不容易再利用,同時也為將來的維護和修改willalso造成困難。事實上,CSDN的JSP/Servlet的論壇上,經(jīng)??梢钥吹揭恍﹩栴},代碼很長,可邏輯不是很清楚,大量的HTML混合在一起的Java代碼。這是隨機發(fā)展的缺陷。早期的動態(tài)網(wǎng)頁主要是CGI(通用網(wǎng)關(guān)接口,公共網(wǎng)關(guān)接口)技術(shù),你可以使用CGI程序的不同的語言,如VB,C/C++或Delphi,等等。雖然CGI的技術(shù)被開發(fā)出來,由于困難的編程,效率低,modifycomplex缺點和強大,它正逐漸被取代的趨勢。在所有的新技術(shù),JSP/Servlet的使用更有效,更容易編程,功能更強大,更安全,更具有良好的便攜性,他們已經(jīng)有許多人認為,未來是科技的未來發(fā)展最有活力的網(wǎng)站。

類似CGI,支持Servlet的請求/響應模型。當客戶提交請求到服務器,該服務器提供的請求的Servlet,Servlet的負責處理請求和產(chǎn)生響應,然后送給該服務器,然后從發(fā)送給客戶的服務器。和CGI的不同的是,Servlet的不產(chǎn)生新的過程,但用在同一過程HTTP服務器。它通過線程技術(shù)的使用,降低服務器成本。申請過程中的Servlet處理是這樣的:當來自客戶端的請求接收呼叫服務的方法,第一判斷的Servlet的到來的方法是什么類型的請求(GET/POST/HEAD...),然后調(diào)用相應的處理(的doGet/的doPost/doHead...),并產(chǎn)生一個響應。

雖然這樣一個復雜的,其實只是說Servlet是一個Java類。和差的一般類別的是,這種類型在Servlet容器,它可以提供會話管理和有針對性的生命周期管理操作。所以,當你使用Servlet中,你可以得到Java平臺的所有好處,包括對安全管理,使用JDBC訪問數(shù)據(jù)庫和跨平臺的能力。此外,使用Servlet線程,并可以開發(fā)更高效的Web應用程序。

JSP技術(shù)是一個關(guān)鍵的J2EE技術(shù)??,它在一個Servlet的更高的抽象水平。它允許通過組合一個HTML頁面看起來像生成常規(guī)的靜態(tài)和動態(tài)HTML內(nèi)容,但作為一個Servlet運行。有許多商業(yè)應用服務器支持JSP技術(shù),比如BEA的WebLogic,IBM的WebSphere,的JRun,等等。JSP和Servlet使用超過簡單。如果您有Web服務器一個JSP支持,以及一個JSP文件,你可以把它放倒任何靜態(tài)HTML文件可以放置,不必編譯,不用收拾,不必類路徑設置,您可以訪問作為普通的Web它做訪問時,服務器會自動幫你做其他的工作。

JSP文件看起來像一個普通的靜態(tài)HTML文件,但里面包含了一些Java代碼。它使用。JSP后綴,用來告訴服務器這個文件需要特殊處理。當我們訪問一個JSP頁面,文件會先被翻譯成JSP引擎Java源文件,實際上是一個Servlet和編譯器,然后,像其他的Servlet,由Servlet引擎來處理。這種類型的負荷的servlet引擎,處理返回給客戶從客戶的要求,并把結(jié)果接連訪問此頁面給客戶,只要紙張沒有出現(xiàn)過變化,JSP引擎已經(jīng)加載直接調(diào)用Servlet的。如果您已經(jīng)修改,這將是再一次上述過程的執(zhí)行,翻譯,編譯并加載。其實,這就是所謂的“第一人的懲罰?!币驗楫?shù)谝粎⒂^一系列上述過程的執(zhí)行,所以會花一些時間后,這樣的訪問不會。

Javaservlet為提供了一個功能強大的API,它提供所有有關(guān)的信息訪問請求,會話和應用程序。JSP與servlet的結(jié)合可以讓你清楚地從應用程序的演示分離應用邏輯;換句話說,它可以讓您用最合適的組件類型的模型,視圖和控制器的角色。Servlet,過濾器和監(jiān)聽器

servlet是延伸一個服務器功能用于處理請求和產(chǎn)生響應的Java類。它的使用定義的類和接口實現(xiàn)由ServletAPI。該API由兩個包:javax.servlet包中包含類和接口是協(xié)議無關(guān),而javax.servlet.http包提供HTTP特定的擴展和實用程序類。是什么讓一個servlet一個servlet是類實現(xiàn)名為javax.servlet.Servlet接口,可以直接或通過擴展支持類之一。這個接口定義由Web容器來管理,并與servlet交互的方法。Servlet的生命周期

Web容器管理servlet的生命周期的所有方面。它創(chuàng)建一個實例需要時servlet類的,傳遞請求的實例進行處理,并最終去除實例。對于HttpServlet中,容器調(diào)用在servlet的生命周期中適當?shù)臅r間使用下列方法。

除了使用doGet()和doPost()方法,有相應于其它HTTP方法的方法:doDelete(),doHead(),doOptions(),doPut(),和doTrace()。通常情況下,你不實現(xiàn)這些方法;HttpServlet類已經(jīng)照顧HEAD,OPTIONS,TRACE和請求的方式,是適合大多數(shù)的servlet和DELETE和PUTHTTP方法是在Web應用程序很少使用。

重要的是要認識到,容器創(chuàng)建每個Servlet只有一個實例。這意味著,該servlet必須是線程安全-能夠處理在多個請求同時,每一個執(zhí)行通過小服務程序代碼一個單獨的線程。沒有得到在細節(jié)丟失,你滿足這個要求的問候?qū)嵗兞?,如果你修改引用的對象只有在init()和destroy()方法,只是讀取它們的請求處理方法。編譯和安裝一個Servlet

要編譯一個servlet,您必須首先確保你有一個包含所有JAR文件ServletAPI的類在CLASSPATH環(huán)境變量。JAR文件分發(fā)所有的web容器。Tomcat的包括在名為的servlet.jar文件,位于公共/lib目錄下。在Windows平臺上,您包括在CLASSPATH中的JAR文件。讀取請求

之一傳遞到的doGet()和doPost()方法的參數(shù)是一個對象,它實現(xiàn)了HttpServletRequest接口。這個接口定義提供了方法獲得了豐富的有關(guān)請求的信息。生成響應

除了請求對象,容器傳遞一個對象來實現(xiàn)的HttpServletResponse接口作為參數(shù)傳遞給的doGet()和doPost()方法。此接口定義得到一個作家或流響應體的方法。它還定義用于設定響應狀態(tài)碼和首部的方法。使用過濾器和監(jiān)聽器

Servlet規(guī)范定義的servlet旁邊的雙組分類型:過濾器和監(jiān)聽器。這兩種類型在Servlet2.3規(guī)范相繼

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論