Servlet 技術

一、什麼是Servlet

Servlet是用Java編寫的服務器端程序,由服務器端調用和執行的任何Java類。
Servlet是使用Java Servlet應用程序設計接口(API)及相關類和方法的Java程序。
瀏覽器端也就是客戶端運行的Java程序叫做Applet,而服務器端運行的Java程序叫做Servlet。

二、Servlet的主要功能

Servlet的主要功能在於交互式地瀏覽和修改數據生成動態Web內容。過程爲:
1、客戶端發送請求至服務器端。
2、服務器將請求信息發送至Servlet。
3、Servlet生成響應內容並將其傳給Server。
4、服務器將響應返回給客戶端。

三、Servlet可以完成和CGI相同的功能

Servlet提供了Java應用程序的所有優勢:——可移植、穩健、易開發。
1、Servlet主要優勢在於:一個Servlet被客戶端發送的第一個請求激活,然後繼續運行於後臺,等待以後請求。每個請求將生成一個線程,而不是一個完成的進程。多個客戶能夠在同一個進程中同時得到服務。一般,Servlet進程只是在Web Server卸載時被卸。
2、Servlet與CGI的比較:
◆Java Servlet技術要比傳統的CGI技術效率更高。
傳統的CGI對每一個HTTP請求都要產生一個新的進程;而對Java Servlet來說,在Java虛擬機上,每一個請求由一個Java線程thread響應,而不是一個操作系統進程。
◆Java Servlet技術要比傳統的CGI技術功能強大。
Java Servlet能夠方便的處理HTML表單數據,也能夠讀取和設置HTTP頭信息,並且能夠處理Cookies、跟蹤Sessions等其他大量功能。
◆Servlet是模塊化的。
每一個Servlet可以執行一個特定任務,並且可以將他們並在一起工作。
◆Java Servlet之間能共享數據。
它能方便地實現管理從Request到Request的請求,簡化Session和獲取前一頁面。
◆Java Servlet技術要比傳統的CGI技術調用時間要短得多。
CGI程序是作爲單獨過程運行的,通常調用時間較長;而內存中的Servlet可以非常迅速地加載。
◆Java Servlet技術要比傳統的CGI技術安全。
Java定義有完整的安全機制,包括SSI,CA認證、安全政策等規範。
◆Java Servlet技術具有Java技術的所有優點。
Servlet是用Java編寫的,Servlet具有Java技術的幾乎所有的優點,如可移植性、穩健性以及易開發、易維護等特性。

四、Servlet與JSP之間的關係

1、JSP技術主要用來表現頁面,而Servlet技術主要用來完成大量的邏輯處理。
2、JSP主要用來發送給前端的用戶,而Servlet主要來響應用戶的請求,完成請求的邏輯處理。
◆在實際開發中,往往先把JSP頁面開發出來,然後再將JSP代碼轉換成Servlet。
好處:充分利用JSP的頁面表現能力,避免Servlet頁面表現方面嚴重不足,大大縮短開發週期。

五、Servlet應用範圍

Servlet應用範圍:
◆處理HTTP請求。
◆用於處理HTML表單。
◆允許人們之間的合作。
◆轉送請求。
◆允許定義激活代理。

六、Servlet的生命週期

Servlet的生命週期可以歸納爲以下幾點:
◆裝載Servlet:一般動態執行(可以在啓動時自動裝載)
◆創建一個Servlet實例。
◆調用Servlet的init()方法。
◆一個客戶端的請求到達服務器。
◆創建一個請求對象。
◆創建一個響應對象。
◆激活Servlet的Service()方法,並傳遞請求和響應對象。
◆Service()方法獲得關於請求對象的信息、處理請求、訪問其他資源、獲得需要的信息。
◆Service()方法使用響應對象的方法,將響應傳回服務器,最終到達客戶端。
◆對於更多的客戶端請求,服務器創建新的請求和響應對象,仍然激活此Servlet的Service()方法,將兩個對象作爲參數傳遞給它。
◆當服務器不再需要Servlet或當服務器關閉時,服務器將會調用Servlet的destroy()方法。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章