2012年自考“互聯網軟件應用與開發(fā)”復習資料(25)
Java Servlet技術介紹
名詞解釋
1.Servlet:Servlet可以被認為是服務器端的Applet.Servlet被Web服務器加載和執(zhí)行,就如同Applet被瀏覽器加載和執(zhí)行一樣……Servlet從客戶端(通過Web服務器)接收請求,執(zhí)行某種作業(yè),然后返回結果。
使用Servlet的基本流程如下:
(1)客戶端(很可能是Web瀏覽器)通過HTTP提出請求。
(2)Web服務器接收該請求并將其發(fā)給Servlet.如果這個Servlet尚未被加載,Web服務器將把它加載到Java虛擬機并且執(zhí)行它。
(3)Servlet將接收該HTTP請求并執(zhí)行某種處理。
(4)Servlet將向Web服務器返回應答。
(5)Web服務器將從Servlet收到的應答發(fā)送給客戶端。
2 .Servlet的生命周期:Servlet的生命周期定義了一個Servlet如何被加載、初始化,以及它怎樣接收請求、響應請求、提供服務。
簡答題
1.簡述Servlet的優(yōu)點。
答:Servlet可以很好地替代通用網關接口(Commmon Gateway Interface,CGI)腳本。通常CGI腳本是用Perl或者C語言編寫的,它們總是和特定的服務器平臺緊密相關。而Servlet是用Java編寫的,所以它們一開始就是和平臺無關的。這樣,Java編寫一次就可以在任何平臺運行(Write Once, Run Anywhere)的承諾就同樣可以在服務器上實現了。Servlet還有一些CGI腳本所不具備的獨特優(yōu)點。
(1)Servlet是持久的。Servlet只需Web服務器加載一次,而且可以在不同請求之間保持服務(例如一次數據庫連接)。與之相反,CGI腳本是短暫的、瞬態(tài)的。每一次對CGI腳本的請求,都會使Web服務器加載并執(zhí)行該腳本。一旦這個CGI腳本運行結束,它就會被從內存中清除,然后將結果返回到客戶端。CGI腳本的每一次使用,都會造成程序初始化過程(例如連接數據庫)的重復執(zhí)行。
(2)Servlet是可擴展的。由于Servlet是用Java編寫的,它就具備了Java所能帶來的所有優(yōu)點。Java是健壯的、面向對象的編程語言,它很容易擴展以適應用戶的需求。Servlet自然也具備了這些特征。
(3)Servlet是安全的。從外界調用一個Servlet的唯一方法就是通過Web服務器。這提供了高水平的安全性保障,尤其是在Web服務器有防火墻保護的時候。
(4)Servlet可以在多種多樣的客戶機上使用。由于Servlet是用Java編寫的,所以可以很方便地在HTML中使用它們,就像使用Applet一樣。在本書中將看到這一點。
使用Servlet的方式多得超出想象。如果考慮到在服務器上所能訪問到的所有服務(如數據庫服務和老的系統(tǒng)),使用Servlet的方式實際上可能是無限的。
2.簡述Servlet的生命周期。
答:Servlet的生命周期定義了一個Servlet如何被加載、初始化,以及它怎樣接收請求、響應請求、提供服務。
Web容器加載Servlet,生命周期開始。通過調用Servlet的init()方法進行Servlet的初始化。通過調用Servlet()方法實現,根據請求的不同調用不同的do***()方法。結束服務,Web容器調用Servlet的destroy()方法。
相關鏈接:



