【正文】
l works, very concealment but again and efficiently. The Servlet is to edit and translate of, so the code of JSP in the web page does not need when the every time requests that page is explain. The engine of JSP need to be edit and translate after Servlet the code end is modify only once, then this Servlet that editted and translate can be carry out. The in view of the fact JSP engine auto is born to edit and translate the Servlet also, need not procedure member begins to edit and translate the code, so the JSP can bring vivid sex that function and fast developments need that you are efficiently. Compared with the traditional CGI, the JSP has the equal advantage. First, on the speed, the traditional procedure of CGI needs to use the standard importation of the system to output the equipments to carry out the dynamic state web page born, but the JSP is direct is mutually the connection with server. And say for the CGI, each interview needs to add to add a progress to handle, the progress build up and destroy by burning constantly and will be a not small burden for calculator of be the server of Web. The next in order, the JSP is specialized to develop but design for the Web of, its purpose is for building up according to the Web applied procedure, included the norm and the tool of a the whole set. Use the technique of JSP can bine a lot of JSP pages to bee a Web application procedure very expediently. 畢業(yè)設(shè)計(jì)(論文)外文翻譯 外文翻譯 JSP 技術(shù)發(fā)展史 Brian Wright Michael Freedman Java Server Pages(JSP)是一種基于 web 的腳本編程技術(shù),類似于網(wǎng)景公司的服務(wù)器端 Java 腳本語(yǔ)言 —— serverside JavaScript(SSJS)和微軟的 Active Server Pages(ASP)。盡管 JSP 規(guī)范是由 Sun 公司制定的,但任何廠商都可以在自己的系統(tǒng)上實(shí)現(xiàn) JSP。 JSP 為創(chuàng)建高度動(dòng)態(tài)的 Web 應(yīng)用提供了一個(gè)獨(dú)特的開發(fā)環(huán)境。 本文將介紹 JSP 相關(guān)的知識(shí),以及 JavaBean 的相關(guān)內(nèi)容,當(dāng)然都是比較粗略的介紹其中的基本內(nèi)容,或者說(shuō)僅僅是 一個(gè) Guide,如果讀者需要更詳細(xì)的信息,請(qǐng)參考相應(yīng)的 JSP 的書籍。 JSP 與 Microsoft 的 ASP 技術(shù)非常相似。下面我們簡(jiǎn)單的對(duì)它進(jìn)行介紹。因而,從根本上, JSP 頁(yè)面能夠執(zhí)行的任何任務(wù)都可以用 servler 來(lái)完成。問題不在于技術(shù)的能力,而是二者在便利性、生產(chǎn)率和可維護(hù)性上的不同。和單獨(dú)使用 servler 相比, JSP 提供下述好處: JSP 中 HTML 的編寫與維護(hù)更為簡(jiǎn)單。 能夠使用標(biāo)準(zhǔn)的網(wǎng)站開發(fā)工具。 畢業(yè)設(shè)計(jì)(論文)外文翻譯 可以對(duì)開發(fā)團(tuán)隊(duì)進(jìn)行劃分。 Web 開發(fā)人員可以將經(jīng)理集中在表示層( presentation layer)上。依據(jù)開發(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)。幾乎所有的項(xiàng)目都會(huì)同時(shí)用到這 兩種技術(shù)。我們總是希望用適當(dāng)?shù)墓ぞ咄瓿上鄬?duì)應(yīng)的工作,僅僅是servlet 并不能填滿您的工具箱。使用 JSP 標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容 (內(nèi)容是根據(jù)請(qǐng)求來(lái)變化的 )。 Servlet 其實(shí)和傳統(tǒng)的 CGI、 ISAPI、 NSAPI等 Web 程序開發(fā)工具的作用是相同的,在使用 Java Servlet 以后,用戶不必再使用效率低下的 CGI 方式,也不必使用只能在某個(gè)固定 Web 服務(wù)器平臺(tái)運(yùn)行的API 方式來(lái)動(dòng)態(tài)生成 Web 頁(yè)面。得益于 Java 的跨平臺(tái)的特性, Servlet 也是平臺(tái)無(wú)關(guān)的,實(shí)際上,只要符合 Java Servlet 規(guī)范, Servlet 是完全與平臺(tái)無(wú)關(guān)且是與 Web 服務(wù)器無(wú)關(guān)的。 但 Java Servlet 也不是沒有缺點(diǎn),和傳統(tǒng)的 CGI、 ISAPI、 NSAPI 方式相同,Java Servlet 是利用輸出 HTML 語(yǔ)句來(lái)實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的,如果用 Java Servlet來(lái) 開發(fā)整個(gè)網(wǎng)站,動(dòng)態(tài)部分和靜態(tài)頁(yè)面的整合過程簡(jiǎn)直就是一場(chǎng)惡夢(mèng)。 許多年前, Marty 受到邀請(qǐng) ,參加一個(gè)有關(guān)軟件技術(shù)的小型 (20 個(gè)人 )研討會(huì) .做在 Marty 旁邊的人是 James Gosling Java 編程語(yǔ)言的發(fā)明者。在討論過程中 ,研討會(huì)的主席提出了 Jini 的議題 ,這在當(dāng)時(shí)是一項(xiàng)新的 Java 技術(shù) .主席向該經(jīng)理詢問他的想法 .他繼續(xù)說(shuō) ,他們會(huì)持續(xù)關(guān)注這項(xiàng)技術(shù) ,如果這項(xiàng)技術(shù)變得流行起來(lái) ,他們會(huì)遵 循公司畢業(yè)設(shè)計(jì)(論文)外文翻譯 的 “ 接受并擴(kuò)充 (embrace and extend)” 的策略 .此時(shí) , Gosling 隨意地插話說(shuō)“ 你的意思其實(shí)就是不接受且不擴(kuò)充 (disgrace and distend)。 Java 社團(tuán)沒有發(fā)明這一思想 將頁(yè)面設(shè)計(jì)成由靜態(tài) HTML 和用特殊標(biāo)簽標(biāo)記的動(dòng)態(tài)代碼混合組成 .。甚至 ASP(來(lái)自于前述經(jīng)理所在公司的一項(xiàng)產(chǎn)品 )都在 JSP 出現(xiàn)之前推廣了這種方式。 JSP 是建立在 Java servlets 模型之上的表達(dá)層技術(shù),它使編寫 HTML 變得更簡(jiǎn)單。 JSP 把 Java 作為默認(rèn)的腳本語(yǔ)言,然而,就像 ASP 可以使用其他語(yǔ)言 (如 JavaScript 和 VBScript)一樣, JSP 規(guī)范也允許使用其他語(yǔ)言。然而,作為一種腳本語(yǔ)言, JSP 又顯得過于強(qiáng)大了,在 JSP 中幾乎可以使用全部的 Java 類。分開內(nèi)容和顯示邏輯的好處是,更新頁(yè)面外觀的人員不必懂得 Java 代碼,而更新 JavaBeans 類的人員也不必是設(shè)計(jì)網(wǎng)頁(yè)的行家里手,就可以用帶 JavaBeans 類的 JSP 頁(yè)面來(lái)定義 Web 模板,以建立一個(gè)由具有相似的外觀的頁(yè) 面組成的網(wǎng)站。當(dāng)然,也可以利用Java Servlet 來(lái)控制網(wǎng)站的邏輯,通過 Java Servlet 調(diào)用 JSP 文件的方式來(lái)將網(wǎng)站的邏輯和內(nèi)容分離。解釋式的動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)工具如 ASP、 PHP3 等由于速度等原因已經(jīng)滿足不了當(dāng)前大型電子商務(wù)應(yīng)用的需要了,傳統(tǒng)的開發(fā)技術(shù)都在向編譯執(zhí)行的方式改變,如 ASP→ ASP+; PHP3→ PHP4。實(shí)際上,有一些 JSP 引擎就是采用的其他腳本語(yǔ)言,如EMACScript、 WebL 等,但實(shí)際上這幾種腳本語(yǔ)言也是構(gòu)建在 Java 上面,編譯為 Servlet 來(lái)實(shí)現(xiàn)的。 D. JSP 的機(jī)制 要理解 JSP 怎樣聯(lián)合以上各種所提到的技術(shù)的優(yōu)點(diǎn),來(lái)輕而易舉地實(shí)現(xiàn)各種效果,用戶必須首先了解“組件為中心的網(wǎng)頁(yè)開發(fā)”和“頁(yè)面為中心的網(wǎng)頁(yè)開發(fā)”的區(qū)別。這種以頁(yè)面為中心的模型容易學(xué)習(xí)并且得到相當(dāng)快速的發(fā)展。在腳本環(huán)境中書寫的表達(dá)邏輯 被鎖在頁(yè)面內(nèi),只有通過剪切和粘貼才能被重用。其實(shí)在企業(yè)中,可重用組件的應(yīng)用早已經(jīng)很成熟,沒有人愿意為它們的應(yīng)用程序重寫那些邏輯。簡(jiǎn)而言之,隨著 Web 應(yīng)用程序的復(fù)雜性不斷提升,以頁(yè)面為中心的開發(fā)方 式的局限性變得明顯起來(lái)。 JavaBeans 和 ActiveX 被“快速應(yīng)用程序開發(fā)” (RAD)工具發(fā)行商推廣給 Java 和 Windows 應(yīng)用程序開發(fā)者用來(lái)快速開發(fā)復(fù)雜的程序。 作為一種以組件為中心的開發(fā)平臺(tái), JSP 出現(xiàn)了。由于 JSP 的以組件為中心的性質(zhì),它可以被 Java 和非 Java 開發(fā)者同樣使用。 Java 開發(fā)者不僅可以創(chuàng)建和使用 JavaBeans,還能在 JSP 頁(yè)中使用Java 語(yǔ)言來(lái)更精密地控制基于底層 JavaBeans 的表達(dá)邏輯。在基本請(qǐng)求模型中,一個(gè)請(qǐng)求直接被送到 JSP 頁(yè)中。 Beans 可以是JavaBeans 或 EJB 組件。 JSP 引擎實(shí)際上要把 JSP 標(biāo)簽、 JSP 頁(yè)中的 Java 代碼甚至連同靜態(tài) HTML 內(nèi)容都轉(zhuǎn)換為大塊的 Java 代碼。這樣,當(dāng)網(wǎng)站的訪問者請(qǐng)求 一個(gè) JSP 頁(yè)時(shí),在它不知道的情況下,一個(gè)已經(jīng)生成的、預(yù)編譯過的Servlet 實(shí)際上將完成所有的工作,非常隱蔽而又高效。 JSP 引擎只需在 Servlet 代碼最后被修改后編譯一次,然后這個(gè)編譯過的 Servlet 就可以被執(zhí)行了。 和傳統(tǒng)的 CGI 相比較, JSP 有相當(dāng)?shù)膬?yōu)勢(shì)。而且對(duì)于 CGI 來(lái)說(shuō),每一個(gè)訪問就需要新增加一個(gè)進(jìn)程來(lái)處理,進(jìn)程不斷地建立和銷毀對(duì)于作為 Web 服務(wù)器的計(jì)算機(jī)將是不小的負(fù)擔(dān)。使用 JSP 技術(shù)可以很方便地將一大堆 JSP 頁(yè)面組合成為一個(gè)Web 應(yīng)