Servlet和JSP技術(shù)簡(jiǎn)述

Servlet和JSP技術(shù)簡(jiǎn)述

ID:13745466

大?。?45.48 KB

頁(yè)數(shù):16頁(yè)

時(shí)間:2018-07-24

Servlet和JSP技術(shù)簡(jiǎn)述_第1頁(yè)
Servlet和JSP技術(shù)簡(jiǎn)述_第2頁(yè)
Servlet和JSP技術(shù)簡(jiǎn)述_第3頁(yè)
Servlet和JSP技術(shù)簡(jiǎn)述_第4頁(yè)
Servlet和JSP技術(shù)簡(jiǎn)述_第5頁(yè)
資源描述:

《Servlet和JSP技術(shù)簡(jiǎn)述》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。

1、Servlet和JSP技術(shù)簡(jiǎn)述Servlet和JSP技術(shù)簡(jiǎn)述摘要:Servlet程序在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成Web頁(yè)面與傳統(tǒng)的CGI和許多其他類(lèi)似CGI的技術(shù)相比,JavaServlet具有更高的效率,更容易使用,功能更強(qiáng)大,具有更好的可移植性,更節(jié)省投資。關(guān)鍵字:JSP技術(shù);Servlet;HTTP服務(wù)1 Servlet的功能Servlet是運(yùn)行在Web或應(yīng)用服務(wù)器上的Java程序,它是一個(gè)中間層,負(fù)責(zé)連接來(lái)自Web瀏覽器或其他HTTP客戶(hù)程序的請(qǐng)求和HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序。Servlet的工作是執(zhí)行西門(mén)的任務(wù),如圖1.1所示。圖1.1 Web中

2、間件的作用1.1 讀取客戶(hù)發(fā)送的顯式數(shù)據(jù)最終用戶(hù)一般在頁(yè)面的HTML表單中輸入這些數(shù)據(jù)。然而,數(shù)據(jù)還有可能來(lái)自applet或定制的HTTP客戶(hù)程序。1.2 讀取由瀏覽器發(fā)送的隱式請(qǐng)求數(shù)據(jù)圖1.1中顯示了一條從客戶(hù)端到Web服務(wù)器的單箭頭,但實(shí)際上從客戶(hù)端傳送到Web服務(wù)器的數(shù)據(jù)有兩種,它們分別為用戶(hù)在表單中輸入的顯式數(shù)據(jù),以及后臺(tái)的HTTP信息。兩種數(shù)據(jù)都很重要。HTTP信息包括cookie、瀏覽器所能識(shí)別的媒體類(lèi)型和壓縮模式等。7Servlet和JSP技術(shù)簡(jiǎn)述1.3 生成結(jié)果這個(gè)過(guò)程可能需要訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)、執(zhí)行RMI或EJB調(diào)用、調(diào)用Web服務(wù),或者直接計(jì)算得出對(duì)

3、應(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ì)話(huà)。即使它能夠做到這一點(diǎn),為了安全上的考慮,我們也不希望讓它這么做。對(duì)應(yīng)大多數(shù)其他應(yīng)用程序,也存在類(lèi)似的問(wèn)題。因此,我們需要Web中間層從HTTP流中提取輸入數(shù)據(jù),與應(yīng)用程序會(huì)話(huà),并將結(jié)果嵌入到文檔中。1.4 向客戶(hù)發(fā)送顯式數(shù)據(jù)(即文檔)這個(gè)文檔可以用各種格式發(fā)送,包括文本(HTML或XML),二進(jìn)制(GIF圖),甚至可以式建立在其他底層格式之上的壓縮格式,如gzip。但是,到目前為止,HTML式最常用的格式,故而ser

4、velt和JSP的重要任務(wù)之一就式將結(jié)果包裝到HTML中。1.5 發(fā)送隱式的HTTP響應(yīng)數(shù)據(jù)圖1.1中顯示了一條從Web中間層到客戶(hù)端的單箭頭。但是,實(shí)際發(fā)送的數(shù)據(jù)有兩種:文檔本身,以及后臺(tái)的HTTP信息。同樣,兩種數(shù)據(jù)對(duì)開(kāi)發(fā)來(lái)說(shuō)都式至關(guān)重要的。HTTP響應(yīng)數(shù)據(jù)的發(fā)送過(guò)程涉及告知瀏覽器或其他客戶(hù)程序所返回文檔的類(lèi)型(如HTML),設(shè)置cookie和緩存參數(shù),以及其他類(lèi)似的任務(wù)。2 動(dòng)態(tài)構(gòu)建網(wǎng)頁(yè)的原因預(yù)先建立的文檔可以滿(mǎn)足客戶(hù)的許多請(qǐng)求,服務(wù)器無(wú)需調(diào)用servlet就可以處理這些請(qǐng)求。然而,許多情況下靜態(tài)的結(jié)果不能滿(mǎn)足要求,我們需要針對(duì)每個(gè)請(qǐng)求生成一個(gè)頁(yè)面。實(shí)時(shí)構(gòu)

5、建頁(yè)面的理由有很多種:2.1 網(wǎng)頁(yè)基于客戶(hù)發(fā)送的數(shù)據(jù)例如,搜索引擎生成的頁(yè)面,以及在線(xiàn)商店的訂單確認(rèn)頁(yè)面,都要針對(duì)特定的用戶(hù)請(qǐng)求而產(chǎn)生。在沒(méi)有讀取到用戶(hù)提交的數(shù)據(jù)之前,我們不知道應(yīng)該顯示什么。要記住,用戶(hù)提交兩種類(lèi)型的數(shù)據(jù):顯示(即HTML表單的數(shù)據(jù))和隱式(即HTTP請(qǐng)求的報(bào)頭)。兩種輸入都可用來(lái)構(gòu)建輸出頁(yè)面?;赾ookie值針對(duì)具體用戶(hù)構(gòu)建頁(yè)面的情況尤其普遍。7Servlet和JSP技術(shù)簡(jiǎn)述2.2 頁(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)處理它:周期

6、性地在服務(wù)器上構(gòu)建新的頁(yè)面(和客戶(hù)請(qǐng)求無(wú)關(guān)),或者僅僅在用戶(hù)請(qǐng)求該頁(yè)面時(shí)再構(gòu)建。具體應(yīng)該采用哪種方式要根據(jù)具體情況而定,但后一種方式常常更為方便,因?yàn)樗恍韬?jiǎn)單地等待用戶(hù)的請(qǐng)求。例如,天氣預(yù)報(bào)或新聞網(wǎng)站可能會(huì)動(dòng)態(tài)地構(gòu)建頁(yè)面,也有可能會(huì)返回之前構(gòu)建的頁(yè)面(如果它還是最新的話(huà))。2.3 頁(yè)面中使用了來(lái)自公司數(shù)據(jù)庫(kù)或其他數(shù)據(jù)庫(kù)斷數(shù)據(jù)源的信息如果數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,那么,即使客戶(hù)端使用動(dòng)態(tài)Web內(nèi)容,比如applet,我們依舊需要執(zhí)行服務(wù)器端處理。想象以下,如果一個(gè)搜索引擎網(wǎng)站完全使用applet,那么用戶(hù)將會(huì)看到:“正在下載50TB的applet,請(qǐng)等待!”。顯然,這

7、樣很愚蠢;這種情況下,我們需要與數(shù)據(jù)庫(kù)進(jìn)行會(huì)話(huà)。從客戶(hù)端到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ù)器,它同樣可以用于其他類(lèi)型的服務(wù)器。例如,servlet能夠嵌入到FTP或郵件服務(wù)器中,擴(kuò)展他們的功能。而且,用于會(huì)話(huà)啟動(dòng)協(xié)議服務(wù)器的servletAPI最近已經(jīng)被標(biāo)準(zhǔn)化(參見(jiàn)http://jcp.org/en/jsr/detai

8、l?id=116)。但在

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。