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

正文內(nèi)容

外文文獻(xiàn)及翻譯----servlet和jsp技術(shù)簡(jiǎn)述-jsp程序(已修改)

2025-02-04 08:57 本頁(yè)面
 

【正文】 畢業(yè)設(shè)計(jì) (論文 ) 外文文獻(xiàn)翻譯 專業(yè) 學(xué) 生 姓 名 班級(jí) 學(xué)號(hào) 指 導(dǎo) 教 師 XX 學(xué) 院 1 外文資料名稱: An Overview of Servlet and JSP Technology 外文資料出處: Inter 附 件: 指導(dǎo)教師評(píng)語(yǔ): 簽名: 年 月 日 2 Servlet 和 JSP 技術(shù)簡(jiǎn)述 Nagle and Wiegley XX 譯 摘要: Servlet 程序在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成 Web 頁(yè)面與傳統(tǒng)的 CGI 和許多 其他類似 CGI 的技術(shù)相比, Java Servlet 具有更高的效率,更容易使用,功能更強(qiáng)大,具有更好的可移植性,更節(jié)省投資。 關(guān)鍵字 : JSP技術(shù), Servlet, HTTP 服務(wù) 的功能 Servlets 是運(yùn)行在 Web 或應(yīng)用服務(wù)器上的 Java 程序,它是一個(gè)中間層,負(fù)責(zé)連接來(lái)自 Web 瀏覽器或其他 HTTP 客戶程序的請(qǐng)求和 HTTP 服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序。 Servlet 的工作是執(zhí)行西門的任務(wù),如圖 所示 。 圖 中間件的作用 ( 1) 讀取客戶發(fā)送的顯式數(shù)據(jù)。 最終用戶一般在頁(yè)面的 HTML 表單中輸入這些數(shù)據(jù)。然而,數(shù)據(jù)還有可能來(lái)自applet 或定制的 HTTP 客戶程序。 ( 2) 讀取由瀏覽器發(fā)送的隱式請(qǐng)求數(shù)據(jù)。 圖 中顯示了一條從客戶端到 Web服務(wù)器的單箭頭,但實(shí)際上從客戶端傳送到Web 服務(wù)器的數(shù)據(jù)有兩種,它們分別為用戶在表單中輸入的顯式數(shù)據(jù),以及后臺(tái)的HTTP 信息。兩種數(shù)據(jù)都很重要。 HTTP 信息包括 cookie、瀏覽器所能識(shí)別的媒體類型和壓縮模式等。 ( 3) 生成結(jié)果。 這個(gè)過(guò)程可能需要訪問(wèn)數(shù)據(jù)庫(kù)、執(zhí)行 RMI 或 EJB 調(diào)用、調(diào)用 Web 服務(wù),或者直接計(jì)算得出對(duì)應(yīng)的響應(yīng)。實(shí)際的數(shù)據(jù)可能存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中。該 數(shù)據(jù)庫(kù)可能不理解HTTP,或者不能返回 HTML 形式的結(jié)果,所有 Web 瀏覽器不能直接與數(shù)據(jù)庫(kù)進(jìn)行會(huì)話。即使它能夠做到這一點(diǎn),為了安全上的考慮,我們也不希望讓它這么做。對(duì)應(yīng)大多數(shù) 3 其他應(yīng)用程序,也存在類似的問(wèn)題。因此,我們需要 Web 中間層從 HTTP 流中提取輸入數(shù)據(jù),與應(yīng)用程序會(huì)話,并將結(jié)果嵌入到文檔中。 ( 4) 向客戶發(fā)送顯式數(shù)據(jù)(即文檔)。 這個(gè)文檔可以用各種格式發(fā)送,包括文本( HTML 或 XML),二進(jìn)制( GIF 圖),甚至可以式建立在其他底層格式之上的壓縮格式,如 gzip。但是,到目前為止, HTML式最常用的格式,故而 servelt 和 JSP 的重要任務(wù)之一就式將結(jié)果包裝到 HTML 中。 ( 5) 發(fā)送隱式的 HTTP 響應(yīng)數(shù)據(jù)。 圖 中顯示了一條從 Web中間層到客戶端的單箭頭。但是,實(shí)際發(fā)送的數(shù)據(jù)有兩種:文檔本身,以及后臺(tái)的 HTTP 信息。同樣,兩種數(shù)據(jù)對(duì)開發(fā)來(lái)說(shuō)都式至關(guān)重要的。 HTTP 響應(yīng)數(shù)據(jù)的發(fā)送過(guò)程涉及告知瀏覽器或其他客戶程序所返回文檔的類型(如HTML),設(shè)置 cookie 和緩存參數(shù),以及其他類似的任務(wù)。 預(yù)先建立的文檔可以滿足客戶的許多請(qǐng)求,服務(wù)器無(wú)需調(diào)用 servlet 就可以處理這些請(qǐng)求。然而,許多情況 下靜態(tài)的結(jié)果不能滿足要求,我們需要針對(duì)每個(gè)請(qǐng)求生成一個(gè)頁(yè)面。實(shí)時(shí)構(gòu)建頁(yè)面的理由有很多種: 網(wǎng)頁(yè)基于客戶發(fā)送的數(shù)據(jù)。 例如,搜索引擎生成的頁(yè)面,以及在線商店的訂單確認(rèn)頁(yè)面,都要針對(duì)特定的用戶請(qǐng)求而產(chǎn)生。在沒(méi)有讀取到用戶提交的數(shù)據(jù)之前,我們不知道應(yīng)該顯示什么。要記住,用戶提交兩種類型的數(shù)據(jù):顯示(即 HTML 表單的數(shù)據(jù))和隱式(即 HTTP 請(qǐng)求的報(bào)頭)。兩種輸入都可用來(lái)構(gòu)建輸出頁(yè)面。基于 cookie 值針對(duì)具體用戶構(gòu)建頁(yè)面的情況尤其普遍。 頁(yè)面由頻繁改變的數(shù)據(jù)導(dǎo)出。 如果頁(yè)面需要根據(jù)每個(gè)具體的請(qǐng)求做出相應(yīng)的改 變,當(dāng)然需要在請(qǐng)求發(fā)生時(shí)構(gòu)建響應(yīng)。但是,如果頁(yè)面周期性地改變,我們可以用兩種方式來(lái)處理它:周期性地在服務(wù)器上構(gòu)建新的頁(yè)面(和客戶請(qǐng)求無(wú)關(guān)),或者僅僅在用戶請(qǐng)求該頁(yè)面時(shí)再構(gòu)建。具體應(yīng)該采用哪種方式要根據(jù)具體情況而定,但后一種方式常常更為方便,因?yàn)樗恍韬?jiǎn)單地等待用戶的請(qǐng)求。例如,天氣預(yù)報(bào)或新聞網(wǎng)站可能會(huì)動(dòng)態(tài)地構(gòu)建頁(yè)面,也有可能會(huì)返回之前構(gòu)建的頁(yè)面(如果它還是最新的話)。 頁(yè)面中使用了來(lái)自公司數(shù)據(jù)庫(kù)或其他數(shù)據(jù)庫(kù)斷數(shù)據(jù)源的信息。 4 如果數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,那么,即使客戶端使用動(dòng)態(tài) Web 內(nèi)容,比如 applet,我 們依舊需要執(zhí)行服務(wù)器端處理。想象以下,如果一個(gè)搜索引擎網(wǎng)站完全使用applet,那么用戶將會(huì)看到: “ 正在下載 50TB 的 applet,請(qǐng)等待! ” 。顯然,這樣很愚蠢;這種情況下,我們需要與數(shù)據(jù)庫(kù)進(jìn)行會(huì)話。從客戶端到 Web 層再到數(shù)據(jù)庫(kù)(三層結(jié)構(gòu)),要比從 applet 直接到數(shù)據(jù)庫(kù)(二層結(jié)構(gòu))更靈活,也更安全,而性能上的損失很少甚至沒(méi)有。畢竟數(shù)據(jù)庫(kù)調(diào)用通常是對(duì)速度影響最大的步驟,因而,經(jīng)過(guò)中間層可以執(zhí)行高速緩存和連接共享。 理論上講, servelt 并非只用于處理 HTTP 請(qǐng)求的 Web 服務(wù)器或應(yīng)用服務(wù)器,它同樣可以用于其 他類型的服務(wù)器。例如, servlet 能夠嵌入到 FTP 或郵件服務(wù)器中,擴(kuò)展他們的功能。而且,用于會(huì)話啟動(dòng)協(xié)議服務(wù)器的 servlet API 最近已經(jīng)被標(biāo)準(zhǔn)化(參見 servelt 的這種用法尚不流行,在此,我們只論述 HTTP Servlet。 Servlet 相對(duì)于“傳統(tǒng)” CGI 的優(yōu)點(diǎn) 和傳統(tǒng) CGI 及許多類 CGI 技術(shù)相比, Java servelt 效率更高、更易用、更強(qiáng)大、更容易移植、更安全、也更廉價(jià)。 效率 應(yīng)用傳統(tǒng)的 CGI,針對(duì)每個(gè) HTTP 請(qǐng)求都用啟動(dòng)一個(gè)新的進(jìn)程。如果 CGI 程序自身相對(duì)比較簡(jiǎn)短,那么啟動(dòng)進(jìn)程的開銷會(huì)占用大部分執(zhí)行時(shí)間。而使用 servelt, Java虛擬機(jī)會(huì)一直運(yùn)行,并用輕量級(jí)的 Java 線程處理每個(gè)請(qǐng)求,而非重量級(jí)的操作系統(tǒng)進(jìn)程。類似地,應(yīng)用傳統(tǒng)的 CGI 技術(shù),如果存在對(duì)同一 CGI 程序的 N 個(gè)請(qǐng)求,那么CGI程序的代碼會(huì)載入內(nèi)存 N 次。同樣的情況,如果使用 servlet 則啟動(dòng) N 個(gè)線程,單僅僅載入 servlet 類的單一副本。這種方式減少了服務(wù)器的內(nèi)存需求,通過(guò)實(shí)例化更少的對(duì)象從而節(jié)省了時(shí)間。最后,當(dāng) CGI 程序結(jié)束 對(duì)請(qǐng)求的處理之后,程序結(jié)束。這種方式難以緩存計(jì)算結(jié)果,保持?jǐn)?shù)據(jù)庫(kù)連接打開,或是執(zhí)行依靠持續(xù)性數(shù)據(jù)的其他優(yōu)化。然而, servelt 會(huì)一直停留在內(nèi)存中(即使請(qǐng)求處理完畢),因而可以直接存儲(chǔ)客戶請(qǐng)求之間的任意復(fù)雜數(shù)據(jù)。 便利 Servelt 提供大量的基礎(chǔ)構(gòu)造,可以自動(dòng)分析和解碼 HTML 的表單數(shù)據(jù),讀取和設(shè)置 HTTP 報(bào)頭,處理 cookie,跟蹤會(huì)話,以及其他次類高級(jí)功能。而在 CGI 中,大部分工作都需要我們資金完成。另外,如果您已經(jīng)了解了 Java 編程語(yǔ)言,為什么還 5 有學(xué)校 Perl 呢?您已經(jīng)承認(rèn)應(yīng)用 Java 技術(shù)編寫的 代碼要比 Visual Basic, VBScript或 C++編寫的代碼更可靠,且更易重用,為什么還有倒退回去選擇那些語(yǔ)言來(lái)開發(fā)服務(wù)器端的程序呢? 強(qiáng)大 Servlet 支持常規(guī) CGI 難以實(shí)現(xiàn)或根本不能實(shí)現(xiàn)的幾項(xiàng)功能。 Servlet 能夠直接于 Web 服務(wù)器對(duì)話,而常規(guī)的 CGI 程序做不到這一點(diǎn),至少在不使用服務(wù)器專有 API的情況下是這樣。例如,與 Web 服務(wù)器的通信使得講相對(duì) URL 轉(zhuǎn)換成具體的路徑名變得更為容易。多個(gè) servelt 還可以共享數(shù)據(jù),從而易于實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接共享和類似的資源共享優(yōu)化。 Servelt 還能維護(hù) 請(qǐng)求之間的信息,使得諸如會(huì)話跟蹤和計(jì)算結(jié)果緩存等技術(shù)變得更為簡(jiǎn)單。 可移植性 Servelt 使用 Java 編程語(yǔ)言,并且遵循標(biāo)準(zhǔn)的 API。所有主要的 Web 服務(wù)器。實(shí)際上都直接或通過(guò)插件支持 servlet。因此。為 Macromedia JRun 編寫的 servlet,可以不經(jīng)過(guò)任何修改地在 Apache Tomca
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1