




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
***學(xué)院畢業(yè)設(shè)計(jì)(論文)外文資料翻譯系(院): 計(jì)算機(jī)工程學(xué)院專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)(軟件技術(shù))姓 名: ***學(xué) 號(hào): ***外文出處: TheProgrammer(用外文寫) 附件: 1.外文資料翻譯譯文;2.外文原文。指導(dǎo)教師評(píng)語(yǔ):內(nèi)容與課題緊密聯(lián)系,翻譯比較準(zhǔn)確,文字基本流暢,語(yǔ)句基本通順,信息量適中,有個(gè)別專業(yè)詞匯翻譯不暢??傮w來(lái)說(shuō),是一篇合格的外文翻譯。簽名: 年月日注:請(qǐng)將該封面與附件裝訂成冊(cè)附件1:外文資料翻譯譯文JSP技術(shù)概述JSP的優(yōu)點(diǎn)JSP頁(yè)面最終會(huì)轉(zhuǎn)換成servler。因而,從根本上,JSP頁(yè)面能夠執(zhí)行的任何任務(wù)都可以用servler來(lái)完成。然而,這種底層的等同性并不意味著servler和JSP頁(yè)面對(duì)于所有的情況都等同適用。問(wèn)題不在于技術(shù)的能力,而是二者在便利性、生產(chǎn)率和可維護(hù)性上的不同。畢竟,在特定平臺(tái)上能夠用Java編程語(yǔ)言完成的事情,同樣可以用匯編語(yǔ)言來(lái)完成,但是選擇哪種語(yǔ)言依舊十分重要。和單獨(dú)使用servler相比,JSP提供下述好處:(1)JSP中HTML的編寫與維護(hù)更為簡(jiǎn)單。JSP中可以使用常規(guī)的HTML:沒(méi)有額外的反斜杠,沒(méi)有額外的雙引號(hào),也沒(méi)有暗含的Java語(yǔ)法。(2)能夠使用標(biāo)準(zhǔn)的網(wǎng)站開(kāi)發(fā)工具。即使對(duì)那些對(duì)JSP一無(wú)所知的HTML工具,我們也可以使用,因?yàn)樗鼈儠?huì)忽略JSP標(biāo)簽(JSPtags)。(3)可以對(duì)開(kāi)發(fā)團(tuán)隊(duì)進(jìn)行劃分。Java程序員可以致力于動(dòng)態(tài)代碼。Web開(kāi)發(fā)人員可以將經(jīng)理集中在表示層(presentationlayer)上。對(duì)于大型的項(xiàng)目,這種劃分極為重要。依據(jù)開(kāi)發(fā)團(tuán)隊(duì)的大小,及項(xiàng)目的復(fù)雜程度,可以對(duì)靜態(tài)HTML和動(dòng)態(tài)內(nèi)容進(jìn)行弱分離(weakerseparation)和強(qiáng)分離(strongerseparation)。在此,這個(gè)討論并不是讓您停止使用servlets,只使用JSP。幾乎所有的項(xiàng)目都會(huì)同時(shí)用到這兩種技術(shù)。針對(duì)項(xiàng)目中的某些請(qǐng)求,您可能會(huì)在MVC構(gòu)架下組合使用這兩項(xiàng)技術(shù)。我們總是希望用適當(dāng)?shù)墓ぞ咄瓿上鄬?duì)應(yīng)的工作,僅僅是servlet并不能填滿您的工具箱。JSP相對(duì)于競(jìng)爭(zhēng)技術(shù)的優(yōu)勢(shì)許多年前,Marty受到邀請(qǐng),參加一個(gè)有關(guān)軟件技術(shù)的小型(20個(gè)人)研討會(huì).做在Marty旁邊的人是JamesGoslingJava編程語(yǔ)言的發(fā)明者。隔幾個(gè)位置,是來(lái)自華盛頓一家大型軟件公司的高級(jí)經(jīng)理。在討論過(guò)程中,研討會(huì)的主席提出了Jini的議題,這在當(dāng)時(shí)是一項(xiàng)新的Java技術(shù).主席向該經(jīng)理詢問(wèn)他的想法.他繼續(xù)說(shuō),他們會(huì)持續(xù)關(guān)注這項(xiàng)技術(shù),如果這項(xiàng)技術(shù)變得流行起來(lái),他們會(huì)遵循公司的“接受并擴(kuò)充(embraceandextend)”的策略.此時(shí),Gosling隨意地插話說(shuō)“你的意思其實(shí)就是不接受且不擴(kuò)充(disgraceanddistend)。”在此,Gosling的抱怨顯示出,他感到這個(gè)公司會(huì)從其他公司那里拿走技術(shù)用于他們自己的目的.但你猜這次怎么樣?這次鞋子穿在了另一只腳上。Java社團(tuán)沒(méi)有發(fā)明這一思想將頁(yè)面設(shè)計(jì)成由靜態(tài)HTML和用特殊標(biāo)簽標(biāo)記的動(dòng)態(tài)代碼混合組成.。ColdFusion多年前就已經(jīng)這樣做了。甚至ASP(來(lái)自于前述經(jīng)理所在公司的一項(xiàng)產(chǎn)品)都在JSP出現(xiàn)之前推廣了這種方式。實(shí)際上JSP不只采用了這種通用概念,它甚至使用許多和ASP相同的特殊標(biāo)簽。因此,問(wèn)題變成:為什么使用JSP,而不使用其他技術(shù)呢?我們的第一反應(yīng)是我們不是在爭(zhēng)論所有的人應(yīng)該做什么。其他這些技術(shù)中,有一些也很不錯(cuò),在某些情況下也的確是合情合理的選擇.然而,在其他情形中JSP明顯要更好一些。下面給出幾個(gè)理由。與.NET和ActiveServerPages(ASP)^fc.NET是Microsoft精心設(shè)計(jì)的一項(xiàng)技術(shù)。ASP.NET是與servlets和JSP直接競(jìng)爭(zhēng)的技術(shù)。JSP的優(yōu)勢(shì)體現(xiàn)在兩個(gè)方面。首先JSP可以移植到多種操作系統(tǒng)和Web服務(wù)器,您不必僅僅局限于部署在Windows和IIS上盡管核心4日T平臺(tái)可以在好幾種非Windows平臺(tái)上運(yùn)行,但ASP這一部分不可以。您不能期望可以將重要的ASP.NET應(yīng)用部署到多種服務(wù)器和操作系統(tǒng)。對(duì)于某些應(yīng)用,這種差異沒(méi)有什么影響。但有些應(yīng)用,這種差異卻非常重要。其次,對(duì)于某些應(yīng)用,底層語(yǔ)言的選擇至關(guān)重要。例如,盡管NET的C#語(yǔ)言設(shè)計(jì)優(yōu)良,且和Java類似,但熟悉核心C#語(yǔ)法和眾多工具庫(kù)的程序員很少。此外,許多開(kāi)發(fā)者依舊使用最初版本的ASP。相對(duì)于這個(gè)版本JSP在動(dòng)態(tài)代碼方面擁有明顯的優(yōu)勢(shì)。使用JSP,動(dòng)態(tài)部分是用Java編寫的,而非VBScript過(guò)其他ASP專有的語(yǔ)言,因此JSP更為強(qiáng)勁,更適合于要求組件重用的復(fù)雜應(yīng)用。當(dāng)將JSP與之前版本的ColdFusion對(duì)比時(shí),您可能會(huì)得到相同的結(jié)論。應(yīng)用JSP,您可以使用Java編寫“真正的代碼”,不必依賴于特定的服務(wù)器產(chǎn)品。然而,當(dāng)前版本的ColdFusion滿足J2EE服務(wù)器的環(huán)境,允許開(kāi)發(fā)者容易的混合使用ColdFusion和Servlet/JSP代碼。與PHP相比PHP(“PHP:HypertextPreprocessor”的遞歸字母縮寫詞)是免費(fèi)的、開(kāi)放源代碼的、HTML嵌入其中的腳本語(yǔ)言,與ASP和JSP都有某種程度的類似。JSP的一項(xiàng)優(yōu)勢(shì)是動(dòng)態(tài)部分用Java編寫,而Java已經(jīng)在聯(lián)網(wǎng)、數(shù)據(jù)庫(kù)訪問(wèn)、分布式對(duì)象等方面擁有廣泛的API,而PHP需要學(xué)習(xí)全新的、應(yīng)用相對(duì)廣泛的語(yǔ)言。JSP的第二項(xiàng)優(yōu)勢(shì)是,和PHP相比,JSP擁有極為廣泛的工具和服務(wù)器提供商的支持。與純Servlet相比原則上,JSP并沒(méi)有提供Servlet不能完成的功能。實(shí)際上,JSP文檔在后臺(tái)被自動(dòng)轉(zhuǎn)換成Servlet。但是編寫(和修改)常規(guī)的HTML,要比無(wú)數(shù)println語(yǔ)句生成HTML要方便得多。另外,通過(guò)將表示與內(nèi)容分離,可以為不同的人分配不同的任務(wù):網(wǎng)頁(yè)設(shè)計(jì)人員使用熟悉的工具構(gòu)建HTML,要么為Servlet程序員留出空間插入動(dòng)態(tài)內(nèi)容,要么通過(guò)XML標(biāo)簽間接調(diào)用動(dòng)態(tài)內(nèi)容。這是否表示您只可以學(xué)習(xí)JSP,將Servlet丟到一邊呢?當(dāng)然不是!由于以下4種原因,JSP開(kāi)發(fā)人員需要了解Servlet:(1)JSP頁(yè)面會(huì)轉(zhuǎn)換成5?^^。不了解Servlet就無(wú)法知道JSP如何工作。(2)JSP由靜態(tài)HTML、專用的JSP標(biāo)簽和Java代碼組成。哪種類型的Java代碼呢?當(dāng)然是Servlet代碼!如果不了解Servlet編程,那么就無(wú)法編寫這種代碼。(3)一些任務(wù)用Servlet完成比用JSP來(lái)完成要好。JSP擅長(zhǎng)生成由大量組織有序的結(jié)構(gòu)化HTML或其他字符數(shù)據(jù)組成的頁(yè)面。Servlet擅長(zhǎng)生成二進(jìn)制數(shù)據(jù),構(gòu)建結(jié)構(gòu)多樣的頁(yè)面,以及執(zhí)行輸出很少或者沒(méi)有輸出的任務(wù)(比如重定向)。(4)有些任務(wù)更適合于組合使用Servlet和JSP來(lái)完成,而非單獨(dú)使用Servlet或JSP。與JavaScript相比JavaScript和Java編程語(yǔ)言完全是兩碼事,前者一般用于在客戶端動(dòng)態(tài)生成HTML,在瀏覽器載入文檔時(shí)構(gòu)建網(wǎng)頁(yè)的部分內(nèi)容。這是一項(xiàng)有用的功能,一般與JSP的功能(只在服務(wù)器端運(yùn)行)并不發(fā)生重疊。和常規(guī)HTML頁(yè)面一樣,JSP頁(yè)面依舊可以包括用于JavaScript的SCRIPT標(biāo)簽。實(shí)際上,JSP甚至能夠用來(lái)動(dòng)態(tài)生成發(fā)送到客戶端的JavaScript。因此,JavaScript不是一項(xiàng)競(jìng)爭(zhēng)技術(shù),它是一項(xiàng)補(bǔ)充技術(shù)。JavaScript也可以用在服務(wù)器端,最因人注意的是SUNONE(以前的iPlanet)、IIS和BroadVision服務(wù)器。然而,Java更為強(qiáng)大靈活、可靠且可移植。與WebMacro和Velocity相比JSP決非完美。許多人都曾指出過(guò)JSP中能夠改進(jìn)的功能。這是一件好事,JSP的優(yōu)勢(shì)之一是該規(guī)范由許多不同公司組成的社團(tuán)控制。因此,在后續(xù)版本中,這項(xiàng)技術(shù)能夠得到協(xié)調(diào)的改進(jìn)。但是,一些組織已經(jīng)開(kāi)發(fā)出了基于Java的替代技術(shù),試圖彌補(bǔ)這些不足。據(jù)我們的判斷,這樣做是錯(cuò)誤的。使用擴(kuò)充JSP和Servlet技術(shù)的第三方工具,如ApacheStructs,是一種很好的思路,只要該工具帶來(lái)的好處能夠補(bǔ)償工具帶來(lái)的額外復(fù)雜性。但是,試圖使用非標(biāo)準(zhǔn)的工具代替JSP則不理想。在選擇一項(xiàng)技術(shù)時(shí),需要權(quán)衡許多方面的因素:標(biāo)準(zhǔn)化、可移植性、集成性、行業(yè)支持和技術(shù)特性。對(duì)于JSP替代技術(shù)的爭(zhēng)論幾乎只是集中在技術(shù)特性上,而可移植性、標(biāo)準(zhǔn)化和集成性也十分重要。例如,Servlet和JSP規(guī)范為Web應(yīng)用定義了一個(gè)標(biāo)準(zhǔn)的目錄結(jié)構(gòu),并提供用于部署Web應(yīng)用的標(biāo)準(zhǔn)文件(.war文件)。所有JSP兼容的服務(wù)器必須支持這些標(biāo)準(zhǔn)。我們可以建立過(guò)濾器作用到任意樹木的Servlet和JSP頁(yè)面上,但不能用于非標(biāo)準(zhǔn)資源。Web應(yīng)用安全設(shè)置也同樣如此。此外,業(yè)界對(duì)JSP和Servlet技術(shù)的巨大支持使得這兩項(xiàng)技術(shù)都有了巨大的進(jìn)步,從而減輕了對(duì)J$口的許多批評(píng)。例如,JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù)和JSP2.0表達(dá)式語(yǔ)言解決了兩種最廣泛的批評(píng):缺乏良好的迭代結(jié)構(gòu);不使用顯式的Java代碼或冗長(zhǎng)的jsp:useBean元素難以訪問(wèn)動(dòng)態(tài)結(jié)果。三、對(duì)JSP的誤解忘記JSP技術(shù)是服務(wù)器端技術(shù)下面是Marty收到的一些典型問(wèn)題(大部分問(wèn)題不止一次的出現(xiàn))。我們的服務(wù)器正在運(yùn)行JDK1.4。我如何將Swing組件用到JSP頁(yè)面中呢?我如何將圖像放到JSP頁(yè)面中?我不知道讀取圖像文件應(yīng)該使用哪些Java入I/O命令。Tomcat不支持JavaScript,當(dāng)用戶在圖像上移動(dòng)鼠標(biāo)時(shí),我如何使圖像突出顯示呢?我們的客戶使用不理解JSP的舊瀏覽器。我應(yīng)該怎么做?當(dāng)我們的客戶在瀏覽器中使用“View入Source”(查看源代碼)時(shí),如何阻止他們看到JSP標(biāo)簽?所有這些問(wèn)題都基于瀏覽器對(duì)服務(wù)器端的過(guò)程在有所了解的假定之上。但事實(shí)上瀏覽器并不了解服務(wù)器端的過(guò)程。因此:如果要將使用Swing組件的applet放到網(wǎng)頁(yè)中,重要的是瀏覽器的Java版本,和服務(wù)器的Java版本無(wú)關(guān)。如果瀏覽器支持Java2平臺(tái),您可以使用正常的APPLET(或Java插件)標(biāo)簽,即使在服務(wù)器上使用了非Java技術(shù)也須如此。您不需要Java入I/O來(lái)讀取圖像文件,您只需將圖像放在存儲(chǔ)Web資源的目錄中(即WEB-INF/classes向上兩級(jí)的目錄),并輸出一個(gè)正常的IMG標(biāo)簽。?您應(yīng)該用SCRIPT標(biāo)簽,使用客戶端JavaScript創(chuàng)建在鼠標(biāo)下會(huì)更改的圖像,這不會(huì)由于服務(wù)器使用JSP而改變。?瀏覽器根本不“支持"JSP它們看到的只是JSP頁(yè)面的輸出。因此,如同對(duì)待靜態(tài)HTML頁(yè)面一樣,只需確保JSP輸出的HTML與瀏覽器兼容。?當(dāng)然,您不需要采取什么措施來(lái)阻止客戶看到JSP標(biāo)簽,這些標(biāo)簽在服務(wù)器上進(jìn)行處理,發(fā)送給客戶的輸出中并不出現(xiàn)。混淆轉(zhuǎn)換期間和請(qǐng)求期間JSP頁(yè)面需要轉(zhuǎn)換成servlet。Servlet在編譯后,載入到服務(wù)器的內(nèi)容中,初始化并執(zhí)行。但是每一步發(fā)生在什么時(shí)候呢?要回答這個(gè)問(wèn)題,要記住以下兩點(diǎn):JSP頁(yè)面僅在修改后第一次被訪問(wèn)時(shí),才會(huì)被轉(zhuǎn)換成servlet并進(jìn)行編譯;載入到內(nèi)存中、初始化和執(zhí)行遵循servlet的一般規(guī)則。附件2:外文原文(復(fù)印件)OverviewofJSPTechnologyBenefitsofJSPJSPpagesaretranslatedintoservlets.So,fundamentally,anytaskJSPpagescanperformcouldalsobeaccomplishedbyservlets.However,thisunderlyingequivalencedoesnotmeanthatservletsandJSPpagesareequallyappropriateinallscenarios.Theissueisnotthepowerofthetechnology,itistheconvenience,productivity,andmaintainabilityofoneortheother.Afterall,anythingyoucandoonaparticularcomputerplatformintheJavaprogramminglanguageyoucouldalsodoinassemblylanguage.Butitstillmatterswhichyouchoose.JSPprovidesthefollowingbenefitsoverservletsalone:ItiseasiertowriteandmaintaintheHTML.YourstaticcodeisordinaryHTML:noextrabackslashes,nodoublequotes,andnolurkingJavasyntax.YoucanusestandardWeb-sitedevelopmenttools.EvenHTMLtoolsthatknownothingaboutJSPcanbeusedbecausetheysimplyignoretheJSPtags.Youcandivideupyourdevelopmentteam.TheJavaprogrammerscanworkonthedynamiccode.TheWebdeveloperscanconcentrateonthepresentationlayer.Onlargeprojects,thisdivisionisveryimportant.Dependingonthesizeofyourteamandthecomplexityofyourproject,youcanenforceaweakerorstrongerseparationbetweenthestaticHTMLandthedynamiccontent.Now,thisdiscussionisnottosaythatyoushouldstopusingservletsanduseonlyJSPinstead.Bynomeans.Almostallprojectswilluseboth.Forsomerequestsinyourproject,youwilluseservlets.Forothers,youwilluseJSP.Forstillothers,youwillcombinethemwiththeMVCarchitecture.Youwanttheappropriatetoolforthejob,andservlets,bythemselves,donotcompleteyourtoolkit.AdvantagesofJSPOverCompetingTechnologiesAnumberofyearsago,Martywasinvitedtoattendasmall20-personindustryroundtablediscussiononsoftwaretechnology.SittingintheseatnexttoMartywasJamesGosling,inventoroftheJavaprogramminglanguage.Sittingseveralseatsawaywasahigh-levelmanagerfromaverylargesoftwarecompanyinRedmond,Washington.Duringthediscussion,themoderatorbroughtupthesubjectofJini,whichatthattimewasanewJavatechnology.Themoderatoraskedthemanagerwhathethoughtofit,andthemanagerrespondedthatitwastooearlytotell,butthatitseemedtobeanexcellentidea.Hewentontosaythattheywouldkeepaneyeonit,andifitseemedtobecatchingon,theywouldfollowhiscompany'susual"embraceandextend"strategy.Atthispoint,Goslinglightheartedlyinterjected"Youmeandisgraceanddistend."Now,thegrievancethatGoslingwasairingwasthathefeltthatthiscompanywouldtaketechnologyfromothercompaniesandsubornitfortheirownpurposes.Butguesswhat?Theshoeisontheotherfoothere.TheJavacommunitydidnotinventtheideaofdesigningpagesasamixtureofstaticHTMLanddynamiccodemarkedwithspecialtags.Forexample,ColdFusiondidityearsearlier.EvenASP(aproductfromtheverysoftwarecompanyoftheaforementionedmanager)popularizedthisapproachbeforeJSPcamealonganddecidedtojumponthebandwagon.Infact,JSPnotonlyadoptedthegeneralidea,itevenusedmanyofthesamespecialtagsasASPdid.So,thequestionbecomes:whyuseJSPinsteadofoneoftheseothertechnologies?Ourfirstresponseisthatwearenotarguingthateveryoneshould.Severalofthoseothertechnologiesarequitegoodandarereasonableoptionsinsomesituations.Inothersituations,however,JSPisclearlybetter.Hereareafewofthereasons.Versus.NETandActiveServerPages(ASP).NETiswell-designedtechnologyfromMicrosoft.ASP.NETisthepartthatdirectlycompeteswithservletsandJSP.TheadvantagesofJSParetwofold.First,JSPisportabletomultipleoperatingsystemsandWebservers;youaren'tlockedintodeployingonWindowsandIIS.Althoughthecore.NETplatformrunsonafewnon-Windowsplatforms,theASPpartdoesnot.YoucannotexpecttodeployseriousASP.NETapplicationsonmultipleserversandoperatingsystems.Forsomeapplications,thisdifferencedoesnotmatter.Forothers,itmattersgreatly.Second,forsomeapplicationsthechoiceoftheunderlyinglanguagemattersgreatly.Forexample,although.NET'sC#languageisverywelldesignedandissimilartoJava,fewerprogrammersarefamiliarwitheitherthecoreC#syntaxorthemanyauxiliarylibraries.Inaddition,manydevelopersstillusetheoriginalversionofASP.Withthisversion,JSPhasaclearadvantageforthedynamiccode.WithJSP,thedynamicpartiswritteninJava,notVBScriptoranotherASP-specificlanguage,soJSPismorepowerfulandbettersuitedtocomplexapplicationsthatrequirereusablecomponents.YoucouldmakethesameargumentwhencomparingJSPtothepreviousversionofColdFusion;withJSPyoucanuseJavaforthe"realcode"andarenottiedtoaparticularserverproduct.However,thecurrentreleaseofColdFusioniswithinthecontextofaJ2EEserver,allowingdeveloperstoeasilymixColdFusionandservlet/JSPcode.VersusPHPPHP(arecursiveacronymfor"PHP:HypertextPreprocessor")isafree,open-source,HTML-embeddedscriptinglanguagethatissomewhatsimilartobothASPandJSP.OneadvantageofJSPisthatthedynamicpartiswritteninJava,whichalreadyhasanextensiveAPIfornetworking,databaseaccess,distributedobjects,andthelike,whereasPHPrequireslearninganentirelynew,lesswidelyusedlanguage.AsecondadvantageisthatJSPismuchmorewidelysupportedbytoolandservervendorsthanisPHP.VersusPureServletsJSPdoesn'tprovideanycapabilitiesthatcouldn't,inprinciple,beaccomplishedwithservlets.Infact,JSPdocumentsareautomaticallytranslatedintoservletsbehindthescenes.Butitismoreconvenienttowrite(andtomodify!)regularHTMLthantouseazillionprintlnstatementstogeneratetheHTML.Plus,byseparatingthepresentationfromthecontent,youcanputdifferentpeopleondifferenttasks:yourWebpagedesignexpertscanbuildtheHTMLbyusingfamiliartoolsandeitherleaveplacesforyourservletprogrammerstoinsertthedynamiccontentorinvokethedynamiccontentindirectlybymeansofXMLtags.DoesthismeanthatyoucanjustlearnJSPandforgetaboutservlets?Absolutelynot!JSPdevelopersneedtoknowservletsforfourreasons:JSPpagesgettranslatedintoservlets.Youcan'tunderstandhowJSPworkswithoutunderstandingservlets.JSPconsistsofstaticHTML,special-purposeJSPtags,andJavacode.WhatkindofJavacode?Servletcode!Youcan'twritethatcodeifyoudon'tunderstandservletprogramming.SometasksarebetteraccomplishedbyservletsthanbyJSP.JSPisgoodatgeneratingpagesthatconsistoflargesectionsoffairlywellstructuredHTMLorothercharacterdata.Servletsarebetterforgeneratingbinarydata,buildingpageswithhighlyvariablestructure,andperformingtasks(suchasredirection)thatinvolvelittleornooutput.SometasksarebetteraccomplishedbyacombinationofservletsandJSPthanbyeitherservletsorJSPalone.VersusJavaScriptJavaScript,whichiscompletelydistinctfromtheJavaprogramminglanguage,isnormallyusedtodynamicallygenerateHTMLontheclient,buildingpartsoftheWebpageasthebrowserloadsthedocument.ThisisausefulcapabilityanddoesnotnormallyoverlapwiththecapabilitiesofJSP(whichrunsonlyontheserver).JSPpagesstillincludeSCRIPTtagsforJavaScript,justasnormalHTMLpagesdo.Infact,JSPcanevenbeusedtodynamicallygeneratetheJavaScriptthatwillbesenttotheclient.So,JavaScriptisnotacompetingtechnology;itisacomplementaryone.ItisalsopossibletouseJavaScriptontheserver,mostnotablyonSunONE(formerlyiPlanet),IIS,andBroadVisionservers.However,Javaismorepowerful,flexible,reliable,andportable.VersusWebMacroorVelocityJSPisbynomeansperfect.Manypeoplehavepointedoutfeaturesthatcouldbeimproved.Thisisagoodthing,andoneoftheadvantagesofJSPisthatthespecificationiscontrolledbyacommunitythatdrawsfrommanydifferentcompanies.So,thetechnologycanincorporateimprovementsinsuccessivereleases.However,somegroupshavedevelopedalternativeJava-basedtechnologiestotrytoaddressthesedeficiencies.This,inourjudgment,isamistake.Usingathird-partytoollikeApacheStrutsthataugmentsJSPandservlettechnologyisagoodideawhenthattooladdssufficientbenefittocompensatefortheadditionalcomplexity.ButusinganonstandardtoolthattriestoreplaceJSPisabadidea.Whenchoosingatechnology,youneedtoweighmanyfactors:standardization,portability,integration,industrysupport,andtechnicalfeatures.TheargumentsforJSPalternativeshavefocusedalmostexclusivelyonthetechnicalfeaturespart.Butportability,standardization,andintegrationarealsoveryimportant.Forexample,theservletandJSPspecificationsdefineastandarddirectorystructureforWebapplicationsandprovidestandardfiles(.warfiles)fordeployingWebapplications.AllJSP-compatibleserversmustsupportthesestandards.FilterscanbesetuptoapplytoanynumberofservletsorJSPpages,butnottononstandardresources.ThesamegoesforWebapplicationsecuritysettings.Besides,thetremendousindustrysupportforJSPandservlettechnologyresultsinimprovementsthatmitigatemanyofthecriticismsofJSP.Forexample,theJSPStandardTagLibraryandtheJSP2.0expressionlanguageaddresstwoofthemostwell-foundedcriticisms:thelackofgooditerationconstructsandthedifficultyofaccessingdynamicresultswithoutusingeitherexplicitJavacodeorverbosejsp:useBeanelements.10.4MisconceptionsAboutJSPForgettingJSPIsServer-SideTechnologyHerearesometypicalquestionsMartyhasreceived(mostofthemrepeatedly).OurserverisrunningJDK1.4.So,howdoIputaSwingcomponentinaJSPpage?HowdoIputanimageintoaJSPpage?IdonotknowtheproperJavaI/Ocommandstoreadimagefiles.SinceTomcatdoesnotsupportJavaScript,howdoImakeimagesthatarehighlightedwhentheusermovesthemouseoverthem?OurclientsuseolderbrowsersthatdonotunderstandJSP.Whatshouldwedo?Whenourclientsuse"ViewSource"inabrowser,howcanIpreventthemfromseeingtheJSPtags?Allofthesequestionsarebasedupontheassumptionthatbrowsersknowsomethingabouttheserver-sideprocess.Buttheydonot.Thus:ForputtingappletswithSwingcomponentsintoWebpages,whatmattersisthebrowser'sJavaversion——theserver'sversionisirrelevant.IfthebrowsersupportstheJava2platform,youusethenormalAPPLET(orJavaplug-in)tagandwoulddosoevenifyouwereusingnon-Javatechnolo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- (2025)JAVA基礎(chǔ)考試題及參考答案
- 2025年安全工程師《案例分析》備考試題及答案
- 2025年高校輔導(dǎo)員考試題庫(kù)及答案
- 2024年手術(shù)室醫(yī)護(hù)人員關(guān)鍵基礎(chǔ)知識(shí)考試題庫(kù)與答案
- 搖表使用培訓(xùn)課件
- 攝影基礎(chǔ)知識(shí)培訓(xùn)課件申請(qǐng)
- 生物生產(chǎn)技術(shù)試題及答案
- 紡織服裝加工廠房項(xiàng)目可行性研究報(bào)告模板-備案拿地
- 外科護(hù)理學(xué)考試題.與答案試題庫(kù)完整
- 2025商業(yè)辦公房租賃合同模板
- 《SMT基礎(chǔ)培訓(xùn)資料》課件
- 2024中華人民共和國(guó)文物保護(hù)法詳細(xì)解讀課件
- 學(xué)校維修維護(hù)合同模板
- 設(shè)備安裝應(yīng)急應(yīng)對(duì)預(yù)案
- 民事訴訟委托書
- 初中一年級(jí)思維邏輯訓(xùn)練數(shù)學(xué)題300道附答案
- 醫(yī)療機(jī)構(gòu)醫(yī)療廢物暫存間消毒記錄表
- JT-T-617.6-2018危險(xiǎn)貨物道路運(yùn)輸規(guī)則第6部分:裝卸條件及作業(yè)要求
- DL-T5372-2017水電水利工程金屬結(jié)構(gòu)與機(jī)電設(shè)備安裝安全技術(shù)規(guī)程
- 新時(shí)代高職英語(yǔ)(基礎(chǔ)模塊)Unit1 -2
- 糖尿病患者延續(xù)性護(hù)理的研究進(jìn)展
評(píng)論
0/150
提交評(píng)論