版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
畢業(yè)設(shè)計(論文)外文文獻翻譯專業(yè)學(xué)生姓名班級學(xué)號指引教師外文資料名稱:AnOverviewofServletandJSPTechnology外文資料出處:Internet附件:1.外文資料翻譯譯文2.外文原文指引教師評語:簽名:年月日Servlet和JSP技術(shù)簡述NagleandWiegleyXX譯摘要:Servlet程序在服務(wù)器端運營,動態(tài)地生成Web頁面與老式CGI和許多其她類似CGI技術(shù)相比,JavaServlet具備更高效率,更容易使用,功能更強大,具備更好可移植性,更節(jié)約投資。核心字:JSP技術(shù),Servlet,HTTP服務(wù)1.1Servlet功能Servlets是運營在Web或應(yīng)用服務(wù)器上Java程序,它是一種中間層,負責(zé)連接來自Web瀏覽器或其她HTTP客戶程序祈求和HTTP服務(wù)器上數(shù)據(jù)庫或應(yīng)用程序。Servlet工作是執(zhí)行西門任務(wù),如圖1.1所示。圖1.1Web中間件作用讀取客戶發(fā)送顯式數(shù)據(jù)。最后顧客普通在頁面HTML表單中輸入這些數(shù)據(jù)。然而,數(shù)據(jù)尚有也許來自applet或定制HTTP客戶程序。讀取由瀏覽器發(fā)送隱式祈求數(shù)據(jù)。圖1.1中顯示了一條從客戶端到Web服務(wù)器單箭頭,但事實上從客戶端傳送到Web服務(wù)器數(shù)據(jù)有兩種,它們分別為顧客在表單中輸入顯式數(shù)據(jù),以及后臺HTTP信息。兩種數(shù)據(jù)都很重要。HTTP信息涉及cookie、瀏覽器所能辨認媒體類型和壓縮模式等。生成成果。這個過程也許需要訪問數(shù)據(jù)庫、執(zhí)行RMI或EJB調(diào)用、調(diào)用Web服務(wù),或者直接計算得出相應(yīng)響應(yīng)。實際數(shù)據(jù)也許存儲在關(guān)系型數(shù)據(jù)庫中。該數(shù)據(jù)庫也許不理解HTTP,或者不能返回HTML形式成果,所有Web瀏覽器不能直接與數(shù)據(jù)庫進行會話。雖然它可以做到這一點,為了安全上考慮,咱們也不但愿讓它這樣做。相應(yīng)大多數(shù)其她應(yīng)用程序,也存在類似問題。因而,咱們需要Web中間層從HTTP流中提取輸入數(shù)據(jù),與應(yīng)用程序會話,并將成果嵌入到文檔中。向客戶發(fā)送顯式數(shù)據(jù)(即文檔)。這個文檔可以用各種格式發(fā)送,涉及文本(HTML或XML),二進制(GIF圖),甚至可以式建立在其她底層格式之上壓縮格式,如gzip。但是,到當前為止,HTML式最慣用格式,故而servelt和JSP重要任務(wù)之一就式將成果包裝到HTML中。發(fā)送隱式HTTP響應(yīng)數(shù)據(jù)。圖1.1中顯示了一條從Web中間層到客戶端單箭頭。但是,實際發(fā)送數(shù)據(jù)有兩種:文檔自身,以及后臺HTTP信息。同樣,兩種數(shù)據(jù)對開發(fā)來說都式至關(guān)重要。HTTP響應(yīng)數(shù)據(jù)發(fā)送過程涉及告知瀏覽器或其她客戶程序所返回文檔類型(如HTML),設(shè)立cookie和緩存參數(shù),以及其她類似任務(wù)。1.2動態(tài)構(gòu)建網(wǎng)頁因素預(yù)先建立文檔可以滿足客戶許多祈求,服務(wù)器無需調(diào)用servlet就可以解決這些祈求。然而,許多狀況下靜態(tài)成果不能滿足規(guī)定,咱們需要針對每個祈求生成一種頁面。實時構(gòu)建頁面理由有諸各種:1、網(wǎng)頁基于客戶發(fā)送數(shù)據(jù)。例如,搜索引擎生成頁面,以及在線商店訂單確認頁面,都要針對特定顧客祈求而產(chǎn)生。在沒有讀取到顧客提交數(shù)據(jù)之前,咱們不懂得應(yīng)當顯示什么。要記住,顧客提交兩種類型數(shù)據(jù):顯示(即HTML表單數(shù)據(jù))和隱式(即HTTP祈求報頭)。兩種輸入都可用來構(gòu)建輸出頁面。基于cookie值針對詳細顧客構(gòu)建頁面狀況特別普遍。2、頁面由頻繁變化數(shù)據(jù)導(dǎo)出。如果頁面需要依照每個詳細祈求做出相應(yīng)變化,固然需要在祈求發(fā)生時構(gòu)建響應(yīng)。但是,如果頁面周期性地變化,咱們可以用兩種方式來解決它:周期性地在服務(wù)器上構(gòu)建新頁面(和客戶祈求無關(guān)),或者僅僅在顧客祈求該頁面時再構(gòu)建。詳細應(yīng)當采用哪種方式要依照詳細狀況而定,但后一種方式經(jīng)常更為以便,由于它只需簡樸地等待顧客祈求。例如,天氣預(yù)報或新聞網(wǎng)站也許會動態(tài)地構(gòu)建頁面,也有也許會返回之前構(gòu)建頁面(如果它還是最新話)。3、頁面中使用了來自公司數(shù)據(jù)庫或其她數(shù)據(jù)庫斷數(shù)據(jù)源信息。如果數(shù)據(jù)存儲在數(shù)據(jù)庫中,那么,雖然客戶端使用動態(tài)Web內(nèi)容,例如applet,咱們?nèi)耘f需要執(zhí)行服務(wù)器端解決。想象如下,如果一種搜索引擎網(wǎng)站完全使用applet,那么顧客將會看到:“正在下載50TBapplet,請等待!”。顯然,這樣很愚蠢;這種狀況下,咱們需要與數(shù)據(jù)庫進行會話。從客戶端到Web層再到數(shù)據(jù)庫(三層構(gòu)造),要比從applet直接到數(shù)據(jù)庫(二層構(gòu)造)更靈活,也更安全,而性能上損失很少甚至沒有。畢竟數(shù)據(jù)庫調(diào)用普通是對速度影響最大環(huán)節(jié),因而,通過中間層可以執(zhí)行高速緩存和連接共享。理論上講,servelt并非只用于解決HTTP祈求Web服務(wù)器或應(yīng)用服務(wù)器,它同樣可以用于其她類型服務(wù)器。例如,servlet可以嵌入到FTP或郵件服務(wù)器中,擴展她們功能。并且,用于會話啟動合同服務(wù)器servletAPI近來已經(jīng)被原則化(參見)。但在實踐中,servelt這種用法尚不流行,在此,咱們只闡述HTTPServlet。1.3Servlet相對于“老式”CGI長處和老式CGI及許多類CGI技術(shù)相比,Javaservelt效率更高、更易用、更強大、更容易移植、更安全、也更便宜。1、效率應(yīng)用老式CGI,針對每個HTTP祈求都用啟動一種新進程。如果CGI程序自身相對比較簡短,那么啟動進程開銷會占用大某些執(zhí)行時間。而使用servelt,Java虛擬機會始終運營,并用輕量級Java線程解決每個祈求,而非重量級操作系統(tǒng)進程。類似地,應(yīng)用老式CGI技術(shù),如果存在對同一CGI程序N個祈求,那么CGI程序代碼會載入內(nèi)存N次。同樣狀況,如果使用servlet則啟動N個線程,單僅僅載入servlet類單一副本。這種方式減少了服務(wù)器內(nèi)存需求,通過實例化更少對象從而節(jié)約了時間。最后,當CGI程序結(jié)束對祈求解決之后,程序結(jié)束。這種方式難以緩存計算成果,保持數(shù)據(jù)庫連接打開,或是執(zhí)行依托持續(xù)性數(shù)據(jù)其她優(yōu)化。然而,servelt會始終停留在內(nèi)存中(雖然祈求解決完畢),因而可以直接存儲客戶祈求之間任意復(fù)雜數(shù)據(jù)。2、便利Servelt提供大量基本構(gòu)造,可以自動分析和解碼HTML表單數(shù)據(jù),讀取和設(shè)立HTTP報頭,解決cookie,跟蹤會話,以及其她次類高檔功能。而在CGI中,大某些工作都需要咱們資金完畢。此外,如果您已經(jīng)理解了Java編程語言,為什么尚有學(xué)校Perl呢?您已經(jīng)承認應(yīng)用Java技術(shù)編寫代碼要比VisualBasic,VBScript或C++編寫代碼更可靠,且更易重用,為什么尚有倒退回去選取那些語言來開發(fā)服務(wù)器端程序呢?3、強大Servlet支持常規(guī)CGI難以實現(xiàn)或主線不能實現(xiàn)幾項功能。Servlet可以直接于Web服務(wù)器對話,而常規(guī)CGI程序做不到這一點,至少在不使用服務(wù)器專有API狀況下是這樣。例如,與Web服務(wù)器通信使得講相對URL轉(zhuǎn)換成詳細途徑名變得更為容易。各種servelt還可以共享數(shù)據(jù),從而易于實現(xiàn)數(shù)據(jù)庫連接共享和類似資源共享優(yōu)化。Servelt還能維護祈求之間信息,使得諸如會話跟蹤和計算成果緩存等技術(shù)變得更為簡樸。4、可移植性Servelt使用Java編程語言,并且遵循原則API。所有重要Web服務(wù)器。事實上都直接或通過插件支持servlet。因而。為MacromediaJRun編寫servlet,可以不通過任何修改地在ApacheTomcat,MicrosoftInternetInformationServer,IBMWebSphere。iPlanetEnterpriseServer。Oracle9iAS或者StrNineWebStar上運營。她們是java2平臺公司版一某些,因此對servlet支持越來越普遍。5、便宜對于開發(fā)用網(wǎng)站、低容量或中檔容量網(wǎng)站布置,有大量免費或極為便宜Web服務(wù)器可供選取。因而,通過使用servelt和jsp,咱們可以從免費或便宜服務(wù)器開始,在項目獲得初步成功后,在移植到更高性能或高檔管理工具昂貴服務(wù)器上。這與其她CGI方案形成鮮明對比,這些CGI方案在初期都需要為購買專利軟件包投入大量資金。價格和可移植性在某種限度上是互有關(guān)聯(lián)。例如,Marty記錄了所有通過電子郵件向她發(fā)送問題讀者所在國。印度接近列表頂端,也許僅次于美國。Marty曾在馬尼拉講授過jsp和servlet培訓(xùn)課程,那兒對servelt和jsp技術(shù)抱很大興趣。那么,為什么印度和菲律賓都對這項技術(shù)著呢感興趣呢?咱們推測答案也許分兩某些。一方面,這兩個國家都擁有大量訓(xùn)練有素軟件開發(fā)人員。另一方面,這兩個國家貨幣對美元匯率都極為不利。因而,從美國公司那里購買專用Web服務(wù)器會消耗掉項目大某些前期資金。但是,使用servlet和JSP,她們可以從免費服務(wù)器開始:ApacheTomcat。項目獲得成功之后,她們可以轉(zhuǎn)移到性能更高、管理更容易,但需要付費服務(wù)器。她們servelt和jsp不需要重寫編寫。如果她們項目變得更龐大,她們或許但愿轉(zhuǎn)移到分布式環(huán)境。沒有問題:她們可以轉(zhuǎn)而使用MacromediaJRunProfessional,該服務(wù)器支持分布式應(yīng)用。同樣,她們servelt和jsp沒有任何某些需要重寫。如果項目變得極為龐大,錯綜復(fù)雜,她們或許但愿使用EnterpriseJavaBeans來封裝她們商業(yè)邏輯。因而,她們可以切換到BEAWebLogic或Oracle9iAS。同樣,不需要對servlet和jsp做出更改。最后,如果她們項目變得更龐大,她們或許將她從Linux轉(zhuǎn)移到運營IBMWebSphereIBM大型機上。她們還是不需要做出任何更改。6、安全老式CGI程序中重要漏洞來源之一就是,CGI程序經(jīng)常由通過操作系統(tǒng)外殼來執(zhí)行。因而,CGI程序必要仔細地過濾掉那些也許被外殼特殊解決字符,如反引導(dǎo)和分號。實現(xiàn)這項防止辦法難度也許超過咱們想象,在廣泛應(yīng)用CGI庫中,不斷發(fā)現(xiàn)由此類問題引起弱點。問題第二個來源是,某些CGI程序用不自動檢查數(shù)組和字符串邊界語言編寫而成。例如,在C和C++中,可以分派一種100個元素數(shù)組,然后向第999個“元素“寫入數(shù)據(jù)——事實上是程序內(nèi)存隨機某些,這完全合法。因而,如果程序員忘掉執(zhí)行這項檢查,就會將系統(tǒng)暴露在蓄意或偶爾緩沖區(qū)溢出襲擊之下。Servelt不存在這些問題。雖然servelt執(zhí)行系統(tǒng)調(diào)用激活本地操作系統(tǒng)上程序,它也不會用到外殼來完畢這項任務(wù)。固然,數(shù)組邊界檢查以及其她內(nèi)存包括特性是java編程語言核心某些。7、主流雖然存在許多較好技術(shù),但是,如果提供商助支持她們,或開發(fā)人員不懂得如何使用這些技術(shù),那么它們長處又如何體現(xiàn)呢?servelt和jsp技術(shù)得到服務(wù)器提供商廣泛支持,涉及Apache,Oracle,IBM,Sybase,BEA,Maromedia,Causho,Sun/iPlanet,NewAtlanta,ATG,F(xiàn)ujitsu,Lutris,Silverstream,WorldWideWebConsortinrm,以及其她服務(wù)器。存在幾種低廉插件,通過應(yīng)用這些插件,MicrosoftIIS和Zeus也同樣支持servlet和jsp技術(shù),它們運營在Windows,Unix/Linus,MacOS,VMS,和IBM大型機操作系統(tǒng)之上。它們用在航空業(yè)、電子商務(wù)、在線銀行、web搜索引擎、門戶、大型金融網(wǎng)站、以及成百上千您尋常光顧其她網(wǎng)站。固然,僅僅是流行并不能證明技術(shù)優(yōu)越性。諸多泛美例子。但咱們立場是:服務(wù)器端Java本非一項新、為經(jīng)證明技術(shù)。
AnOverviewofServletandJSPTechnologyNagleandWiegleyAbstract:Servletprogramrunningintheserver-side,dynamicallygeneratedWebpagewiththetraditionalCGIandmanyothersimilarcomparedtoCGItechnology,JavaServletwithamoreefficient,easiertouse,morepowerfulandhasbetterportability,moresavingstoinvest.Keywords:JSPTechnology,Servlet,HTTPserver1.1AServlet'sJobServletsareJavaprogramsthatrunonWeborapplicationservers,actingasamiddlelayerbetweenrequestscomingfromWebbrowsersorotherHTTPclientsanddatabasesorapplicationsontheHTTPserver.Theirjobistoperformthefollowingtasks,asillustratedinFigure1-1.Figure1-11.Readtheexplicitdatasentbytheclient.TheendusernormallyentersthisdatainanHTMLformonaWebpage.However,thedatacouldalsocomefromanappletoracustomHTTPclientprogram.2.ReadtheimplicitHTTPrequestdatasentbythebrowser.Figure1-1showsasinglearrowgoingfromtheclienttotheWebserver(thelayerwhereservletsandJSPexecute),buttherearereallytwovarietiesofdata:theexplicitdatathattheenduserentersinaformandthebehind-the-scenesHTTPinformation.Bothvarietiesarecritical.TheHTTPinformationincludescookies,informationaboutmediatypesandcompressionschemesthebrowserunderstands,andsoon.3.Generatetheresults.Thisprocessmayrequiretalkingtoadatabase,executinganRMIorEJBcall,invokingaWebservice,orcomputingtheresponsedirectly.Yourrealdatamaybeinarelationaldatabase.Fine.Butyourdatabaseprobablydoesn'tspeakHTTPorreturnresultsinHTML,sotheWebbrowsercan'ttalkdirectlytothedatabase.Evenifitcould,forsecurityreasons,youprobablywouldnotwantitto.Thesameargumentappliestomostotherapplications.YouneedtheWebmiddlelayertoextracttheresultsinsideadocument.4.Sendtheexplicitdata(i.e.,thedocument)totheclient.Thisdocumentcanbesentinavarietyofformats,includingtext(HTMLorXML),binary(GIFimages),orevenacompressedformatlikegzipthatislayeredontopofsomeotherunderlyingformat.But,HTMLisbyfarthemostcommonformat,soanimportantservlet/JSPtaskistowraptheresultsinsideofHTML.5.SendtheimplicitHTTPresponsedata.Figure1-1showsasinglearrowgoingfromtheWebmiddlelayer(theservletorJSPpage)totheclient.But,therearereallytwovarietiesofdatasent:thedocumentitselfandthebehind-the-scenesHTTPinformation.Again,bothvarietiesarecriticaltoeffectivedevelopment.SendingHTTPresponsedatainvolvestellingthebrowserorotherclientwhattypeofdocumentisbeingreturned(e.g.,HTML),settingcookiesandcachingparameters,andothersuchtasks.1.2WhyBuildWebPagesDynamically?manyclientrequestscanbesatisfiedbyprebuiltdocuments,andtheserverwouldhandletheserequestswithoutinvokingservlets.Inmanycases,however,astaticresultisnotsufficient,andapageneedstobegeneratedforeachrequest.ThereareanumberofreasonswhyWebpagesneedtobebuilton-the-fly:1.TheWebpageisbasedondatasentbytheclient.Forinstance,theresultspagefromsearchenginesandorder-confirmationpagesatonlinestoresarespecifictoparticularuserrequests.Youdon'tknowwhattodisplayuntilyoureadthedatathattheusersubmits.Justrememberthattheusersubmitstwokindsofdata:explicit(i.e.,HTMLformdata)andimplicit(i.e.,HTTPrequestheaders).Eitherkindofinputcanbeusedtobuildtheoutputpage.Inparticular,itisquitecommontobuildauser-specificpagebasedonacookievalue.2.TheWebpageisderivedfromdatathatchangesfrequently.Ifthepagechangesforeveryrequest,thenyoucertainlyneedtobuildtheresponseatrequesttime.Ifitchangesonlyperiodically,however,youcoulddoittwoways:youcouldperiodicallybuildanewWebpageontheserver(independentlyofclientrequests),oryoucouldwaitandonlybuildthepagewhentheuserrequestsit.Therightapproachdependsonthesituation,butsometimesitismoreconvenienttodothelatter:waitfortheuserrequest.Forexample,aweatherreportornewsheadlinessitemightbuildthepagesdynamically,perhapsreturningapreviouslybuiltpageifthatpageisstilluptodate.3.TheWebpageusesinformationfromcorporatedatabasesorotherserver-sidesources.Iftheinformationisinadatabase,youneedserver-sideprocessingeveniftheclientisusingdynamicWebcontentsuchasanapplet.Imagineusinganappletbyitselfforasearchenginesite:"Downloading50terabyteapplet,pleasewait!"Obviously,thatissilly;youneedtotalktothedatabase.GoingfromtheclienttotheWebtiertothedatabase(athree-tierapproach)insteadoffromanappletdirectlytoadatabase(atwo-tierapproach)providesincreasedflexibilityandsecuritywithlittleornoperformancepenalty.Afterall,thedatabasecallisusuallytherate-limitingstep,sogoingthroughtheWebserverdoesnotslowthingsdown.Infact,athree-tierapproachisoftenfasterbecausethemiddletiercanperformcachingandconnectionpooling.Inprinciple,servletsarenotrestrictedtoWeborapplicationserversthathandleHTTPrequestsbutcanbeusedforothertypesofserversaswell.Forexample,servletscouldbeembeddedinFTPormailserverstoextendtheirfunctionality.And,aservletAPIforSIP(SessionInitiationProtocol)serverswasrecentlystandardized(see).Inpractice,however,thisuseofservletshasnotcaughton,andwe'llonlybediscussingHTTPservlets.1.3TheAdvantagesofServletsOver"Traditional"CGIJavaservletsaremoreefficient,easiertouse,morepowerful,moreportable,safer,andcheaperthantraditionalCGIandmanyalternativeCGI-liketechnologies.1.EfficientWithtraditionalCGI,anewprocessisstartedforeachHTTPrequest.IftheCGIprogramitselfisrelativelyshort,theoverheadofstartingtheprocesscandominatetheexecutiontime.Withservlets,theJavavirtualmachinestaysrunningandhandleseachrequestwithalightweightJavathread,notaheavyweightoperatingsystemprocess.Similarly,intraditionalCGI,ifthereareNrequeststothesameCGIprogram,thecodefortheCGIprogramisloadedintomemoryNtimes.Withservlets,however,therewouldbeNthreads,butonlyasinglecopyoftheservletclasswouldbeloaded.Thisapproachreducesservermemoryrequirementsandsavestimebyinstantiatingfewerobjects.Finally,whenaCGIprogramfinisheshandlingarequest,theprogramterminates.Thisapproachmakesitdifficulttocachecomputations,keepdatabaseconnectionsopen,andperformotheroptimizationsthatrelyonpersistentdata.Servlets,however,remaininmemoryevenaftertheycompletearesponse,soitisstraightforwardtostorearbitrarilycomplexdatabetweenclientrequests.2.ConvenientServletshaveanextensiveinfrastructureforautomaticallyparsinganddecodingHTMLformdata,readingandsettingHTTPheaders,handlingcookies,trackingsessions,andmanyothersuchhigh-levelutilities.InCGI,youhavetodomuchofthisyourself.Besides,ifyoualreadyknowtheJavaprogramminglanguage,whylearnPerltoo?You'realreadyconvincedthatJavatechnologymakesformorereliableandreusablecodethandoesVisualBasic,VBScript,orC++.Whygobacktothoselanguagesforserver-sideprogramming?3.PowerfulServletssupportseveralcapabilitiesthataredifficultorimpossibletoaccomplishwithregularCGI.ServletscantalkdirectlytotheWebserver,whereasregularCGIprogramscannot,atleastnotwithoutusingaserver-specificAPI.CommunicatingwiththeWebservermakesiteasiertotranslaterelativeURLsintoconcretepathnames,forinstance.Multipleservletscanalsosharedata,makingiteasytoimplementdatabaseconnectionpoolingandsimilarresource-sharingoptimizations.Servletscanalsomaintaininformationfromrequesttorequest,simplifyingtechniqueslikesessiontrackingandcachingofpreviouscomputations.4.PortableServletsarewrittenintheJavaprogramminglanguageandfollowastandardAPI.ServletsaresupporteddirectlyorbyapluginonvirtuallyeverymajorWebserver.Consequently,servletswrittenfor,say,MacromediaJRuncanrunvirtuallyunchangedonApacheTomcat,MicrosoftInternetInformationServer(withaseparateplugin),IBMWebSphere,iPlanetEnterpriseServer,Oracle9iAS,orStarNineWebStar.TheyarepartoftheJava2Platform,EnterpriseEdition(J2EE;see),soindustrysupportforservletsisbecomingevenmorepervasive.5.InexpensiveAnumberoffreeorveryinexpensiveWebserversaregoodfordevelopmentuseordeploymentoflow-ormedium-volumeWebsites.Thus,withservletsandJSPyoucanstartwithafreeorinexpensiveserverandmigratetomoreexpensiveserverswithhigh-performancecapabilitiesoradvancedadministrationutilitiesonlyafteryourprojectmeetsinitialsuccess.ThisisincontrasttomanyoftheotherCGIalternatives,whichrequireasignificantinitialinvestmentforthepurchaseofaproprietarypackage.Priceandportabilityaresomewhatconnected.Forexample,Martytriestokeeptrackofthecountriesofreadersthatsendhimquestionsbyemail.Indiawasnearthetopofthelist,probably#2behindtheU.S.MartyalsotaughtoneofhisJSPandservlettrainingcourses(see)inManila,andtherewasgreatinterestinservletandJSPtechnologythere.Now,whyareIndiaandthePhilippinesbothsointerested?Wesurmisethattheansweristwofold.First,bothcountrieshavelargepoolsofwell-educatedsoftwaredevelopers.Second,bothcountrieshave(orhad,atthattime)highlyunfavorablecurrencyexchangeratesagainsttheU.S.dollar.So,buyingaspecial-purposeWebserverfromaU.S.companyconsumedalargepartofearlyprojectfunds.But,withservletsandJSP,theycouldstartwithafreeserver:ApacheTomcat(eitherstandalone,embeddedintheregularApacheWebserver,orembeddedinMicrosoftIIS).Oncetheprojectstartstobecomesuccessful,theycouldmovetoaserverlikeCauchoResinthathadhigherperformanceandeasieradministrationbutthatisnotfree.ButnoneoftheirservletsorJSPpageshavetoberewritten.Iftheirprojectbecomesevenlarger,theymightwanttomovetoadistributed(clustered)environment.Noproblem:theycouldmovetoMacromediaJRunProfessional,whichsupportsdistributedapplications(Webfarms).Again,noneoftheirservletsorJSPpageshavetoberewritten.Iftheprojectbecomesquitelargeandcomplex,theymightwanttouseEnterpriseJavaBeans(EJB)toencapsulatetheirbusinesslogic.So,theymightswitchtoBEAWebLogicorOracle9iAS.Again,noneoftheirservletsorJSPpageshavetoberewritten.Finally,iftheirprojectbecomesevenbigger,theymightmoveitoffoftheirLinuxboxandontoanIBMmainframerunningIBMWebSphere.Butonceagain,noneoftheirservletsorJSPpageshavetoberewritten.6.SecureOneofthemainsourcesofvulnerabilitiesintraditionalCGIstemsfromthefactthattheprogramsareoftenexecutedbygeneral-purposeoperatingsystemshells.So,theCGIprogrammermustbecarefultofilteroutcharacterssuchasbackquotesandsemicolonsthataretreatedspeciallybytheshell.Implementingthisprecautionisharderthanonemightthink,andweaknessesstemmingfromthisproblemareconstantlybeinguncoveredinwidelyusedCGIlibraries.AsecondsourceofproblemsisthefactthatsomeCGIprogramsareprocessedbylanguagesthatdonotautomaticallycheckarrayo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度商鋪租賃合同樣本(含電商入駐條款)3篇
- 2024年度技術(shù)轉(zhuǎn)讓合同糾紛處理案例2篇
- 2024版二手房買賣協(xié)議合同范本(含交易房屋產(chǎn)權(quán)歸屬及爭議解決)2篇
- 2024年版權(quán)買賣合同全新范本
- 2024年度學(xué)校學(xué)生實習(xí)實訓(xùn)基地建設(shè)合同4篇
- 2024年度股權(quán)投資及品牌合作合同3篇
- 2024年度南京住宅買賣合同終止及后續(xù)物業(yè)管理及權(quán)益調(diào)整協(xié)議3篇
- 2024版主題餐廳品牌合作及門店接手服務(wù)合同范本3篇
- 2024年櫥柜定制與智能家居系統(tǒng)集成合同3篇
- 2024年物流倉儲設(shè)施施工建設(shè)合同2篇
- 通信線路維護安全培訓(xùn)
- 新修訂《保密法》知識考試題庫及答案
- 2024年新人教版四年級數(shù)學(xué)上冊《第6單元第1課時 除數(shù)是兩位數(shù)的除法口算除法》教學(xué)課件
- 2樹之歌 公開課一等獎創(chuàng)新教學(xué)設(shè)計-1
- 跨學(xué)科融合的勞動教育新生態(tài)
- 基礎(chǔ)模塊3 Unit3 Artificial Intelligence單元測試-2025年中職高考英語一輪復(fù)習(xí)講練測(高教版2023修訂版·全國用)
- 人教版九年級全冊英語Unit 8大單元整體教學(xué)設(shè)計
- 國家開放大學(xué)電大《建筑制圖基礎(chǔ)》機考第三套真題及答案
- 人教版部編五年上道德與法治7《中華民族一家親》說課稿
- DL∕T 1934-2018 火力發(fā)電廠直接空冷系統(tǒng)運行導(dǎo)則
- 2024版小學(xué)六年級上冊心理健康模擬試卷
評論
0/150
提交評論