freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

jsp技術(shù)概述與應(yīng)用框架外文翻譯(已修改)

2024-12-19 19:07 本頁(yè)面
 

【正文】 畢業(yè)設(shè)計(jì)論文 JSP 技術(shù)概述與應(yīng)用框架外文翻譯 中文翻譯 JSP 技術(shù)概述與應(yīng)用框架 作者 : Zambon, Giulio/ Sekler, Michael 出處 : SpringerVerlag New York Inc JSP 的好處 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 提供下述好處: ??JSP 中 6HTML 的編寫(xiě)與維護(hù)更為簡(jiǎn)單。 JSP 中可以使用常規(guī)的 HTML:沒(méi)有額外的反斜杠,沒(méi)有額外的雙引號(hào),也沒(méi)有暗含的 Java 語(yǔ)法。 ??能夠使用標(biāo)準(zhǔn)的網(wǎng)站開(kāi)發(fā)工具。即使對(duì)那些對(duì) JSP 一無(wú)所知的 HTML 工具,我們也可以使用,因?yàn)樗鼈儠?huì)忽略 JSP 標(biāo)簽( JSP tags)。 ??可以對(duì)開(kāi)發(fā)團(tuán)隊(duì)進(jìn)行劃分。 Java 程序員可以致力于動(dòng)態(tài)代碼。 Web 開(kāi)發(fā)人員可以將經(jīng)理集中在表示層( presentation layer)上。對(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)行弱分離( weaker separation)和強(qiáng)分離( stronger separation)。 在此,這個(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 旁邊的人是 James Gosling Java 編程語(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ò)充 embrace and extend ”的策略 .此時(shí) , Gosling 隨意地插話說(shuō)“你的意思其實(shí)就是不接受且不擴(kuò)充 disgrace and distend ?!? 在此 , 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 和 Active Server Pages ASP 相比 .NET 是 Microsoft 精心設(shè)計(jì)的一項(xiàng)技術(shù)。 是與 servlets 和 JSP 直接競(jìng)爭(zhēng)的技術(shù)。 JSP 的優(yōu)勢(shì)體現(xiàn)在兩個(gè)方面。首 先 ,JSP 可以移植到多種操作系統(tǒng)和 Web服務(wù)器 ,您不必僅僅局限于部署在 Windows 和 IIS上盡管核心 .NET平臺(tái)可以在好幾種非 Windows 平臺(tái)上運(yùn)行,但 ASP 這一部分不可以。您不能期望可以將重要的 應(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編寫(xiě)的 ,而非 VBScript過(guò)其他 ASP專有的語(yǔ)言 ,因此 JSP更為強(qiáng)勁 ,更適合于要求組件重用的復(fù)雜應(yīng)用。 當(dāng)將 JSP 與之前版本的 ColdFusion 對(duì)比時(shí),您可能會(huì)得到相同的結(jié)論。應(yīng)用 JSP,您可以使用 Java 編寫(xiě)“真正的代碼”,不必依賴于特定的服務(wù)器產(chǎn)品。然而,當(dāng)前版本的 ColdFusion 滿足 J2EE 服務(wù)器的環(huán)境,允許開(kāi)發(fā)者容易的混合使用 ColdFusion 和 Servlet/JSP 代碼。 與 PHP 相比 PHP(“ PHP: Hypertext Preprocessor”的遞歸字母縮寫(xiě)詞)是免費(fèi)的、開(kāi)放源代碼的、 HTML 嵌入其中的腳本語(yǔ)言,與 ASP 和 JSP 都有某種程度的類似。JSP 的一項(xiàng)優(yōu)勢(shì)是動(dòng)態(tài)部分用 Java 編寫(xiě),而 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。但是編寫(xiě)(和修改)常規(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)換成 Servlet。不了解 Servlet 就無(wú)法知道 JSP 如何工作。 ( 2) JSP 由靜態(tài) HTML、專用的 JSP 標(biāo)簽和 Java 代碼組成。哪種類型的 Java代碼呢?當(dāng)然是 Servlet 代碼!如果不了解 Servlet 編程,那么就無(wú)法編寫(xiě)這種代碼。 ( 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ù)器端,最因人注意的是 SUN ONE(以前的iPla)、 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ù)的第三方工具,如 Apache Structs,是一種很好的思 路,只要該工具帶來(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ò)濾器作用到任意樹(shù)木的Servlet 和 JSP 頁(yè)面上,但不能用于 非標(biāo)準(zhǔn)資源。 Web 應(yīng)用安全設(shè)置也同樣如此。 此外,業(yè)界對(duì) JSP 和 Servlet 技術(shù)的巨大支持使得這兩項(xiàng)技術(shù)都有了巨大的進(jìn)步,從而減輕了對(duì) JSP 的許多批評(píng)。例如, JSP 標(biāo)準(zhǔn)標(biāo)簽庫(kù)和 JSP 表達(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)行 。我如何將 Swing 組件用到 JSP 頁(yè)面呢 ? ??我如何將圖像放到 JSP 頁(yè)面中?我不知道讀取圖像文件應(yīng)該使用哪些JavaI/O 命令。 ??Tomcat 不支持 JavaScript,當(dāng)用戶在圖像上移動(dòng)鼠標(biāo)時(shí),我如何使圖像突出顯示呢? ??我們的客戶使用不理解 JSP 的舊瀏覽器。我應(yīng)該怎么做? Source”(查看源代碼)時(shí),如何阻止他們看到 JSP 標(biāo)簽? ?? 當(dāng)我們的客戶在瀏覽器中使用“ View 所有這些問(wèn)題都基于瀏覽器對(duì)服務(wù)器端的過(guò)程在有所了解的假定之上。但事實(shí)上瀏覽器并不了解服務(wù)器端的過(guò)程。因此: ??如果要將使用 Swing 組件的 applet 放到網(wǎng) 頁(yè)中,重要的是瀏覽器的 Java版本,和服務(wù)器的 Java 版本無(wú)關(guān)。如果瀏覽器支持 Java 2 平臺(tái),您可以使用正常的 APPLET(或 Java 插件)標(biāo)簽,即使在服務(wù)器上使用了非 Java 技術(shù)也須如此。 ??您不需要 Java I/O 來(lái)讀取圖像文件,您只需將圖像放在存儲(chǔ) Web 資源的目錄中(即 WEBINF/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ī)則。 最常被誤解的項(xiàng)已經(jīng)突出標(biāo)示出來(lái)。在參考該表時(shí),要注意,由 JSP 頁(yè)面生成的 servlet使用 _jspService方法( GET和 POST請(qǐng)求都調(diào)用該函數(shù)),不是 doGet或 doPost 方法。同樣,對(duì)于初始化,它們使用 jspInit 方法,而非 init 方法。將 JSP 頁(yè)面轉(zhuǎn)換成 servlet 編譯 Servlet? 將 Servlet 載入到服務(wù)器內(nèi)存中調(diào)用 jspInit 調(diào)用 _jspService。 4. 什么是應(yīng)用框架: 框架( framework)是可重用的,半成品的應(yīng)用 程序,可以用來(lái)產(chǎn)生專門(mén)的定制程序。象人一樣,軟件應(yīng)用的相似性比不同點(diǎn)要多。它們運(yùn)行在相似的機(jī)器上,期望從相同的設(shè)備輸入信息,輸出到相同的顯示設(shè)備,并且將數(shù)據(jù)存儲(chǔ)到相同的硬盤(pán)設(shè)備。開(kāi)發(fā)傳統(tǒng)桌面應(yīng)用的開(kāi)發(fā)人員更習(xí)慣于那些可以涵蓋應(yīng)用開(kāi)發(fā)同一性的工具包和開(kāi)發(fā)環(huán)境。構(gòu)架在這些公共基礎(chǔ)上的應(yīng)用框架可以為開(kāi)發(fā)人員提供可以為他們的產(chǎn)品提供可重用服務(wù)的基礎(chǔ)架構(gòu)。 框架向開(kāi)發(fā)人員提供一系列具有以下特征的骨架組件: 1.已經(jīng)知道它們?cè)谄渌绦蛏瞎ぷ鞯煤芎茫? 2.它們隨時(shí)可以在下一個(gè)項(xiàng)目中使用; 3.它們可以被組織的其它團(tuán)隊(duì)使用 ; 對(duì)于框架是典型的構(gòu)建還是購(gòu)買命題。如果你自己構(gòu)建它,在你完成時(shí)你就會(huì)理解它,但是在你被融入之前又將花費(fèi)多長(zhǎng)時(shí)間呢?如果要購(gòu)買,你必須得克服學(xué)習(xí)曲線,同樣,在你可以用它進(jìn)行工作之前又得花多長(zhǎng)時(shí)間?這里沒(méi)有所謂正確
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1