Servlet概述
以下內容引用自http://wiki.jikexueyuan.com/project/servlet/overview.html:
一、什麽是Servlets?
Java Servlet是運行在Web或應用服務器上的程序,作為在來自Web瀏覽器或其他HTTP客戶機的請求和在HTTP服務器上的數據庫或應用程序的中間層。
使用Servlet,可以通過Web頁面表單來收集用戶的輸入,顯示從數據庫或其他來源的記錄,動態地創建Web頁面。
Java Servlet通常服務於使用Common Gateway Interface(CGI)實現的同樣的目的程序。但與CGI相比,Servlet具有幾個優點。
-
性能更好。
-
Servlet在Web服務器的地址空間內執行。沒有必要創建一個單獨的進程來處理每個客戶端請求。
-
由於Servlet是用Java編寫的,所以它是跨平臺的。
-
在服務器上的Java安全性管理器執行的一些限制來保護服務器上的資源。所以Servlet是可信的。
- Java類庫的完整的功能是對Servlet來說是可用的。它可以與小應用程序、數據庫或其他軟件通過通信接口和RMI機制進行通信。
二、Servlets架構
下圖顯示了在Web應用程序中Servlets的位置。
三、Servlets任務
Servlet執行以下主要任務:
-
讀取由客戶端(瀏覽器)發送的顯式數據。這包括網頁上的HTML表單,或者也可以是來自applet或自定義的HTTP客戶端程序的表單。
-
讀取由客戶端(瀏覽器)發送的隱式HTTP請求數據。這包括Cookies、媒體類型和瀏覽器能理解的壓縮格式等等。
-
處理數據並生成結果。這個過程可能需要訪問數據庫,執行RMI或CORBA調用,調用Web服務,或者直接計算響應。
-
發送顯式數據(即文檔)到客戶端(瀏覽器)。該文檔可以以多種多樣的格式被發送,包括文本文件(HTML或XML)、二進制文件(GIF圖像)、Excel等。
- 發送隱式的HTTP響應到客戶端(瀏覽器)。這包括告訴瀏覽器或其他客戶端被返回的文檔類型(例如HTML),設置Cookies和緩存參數,以及其他類似的任務。
四、Servlets包
Java Servlet是運行在Web服務器上的Java類,在Web服務器上有一個支持Java Servlet規範的解釋器。
Servlet可以使用javax.servlet和javax.servlet.http包來創建。它們是Java企業版的一個標準部分,也是支持大型開發項目的Java類庫的擴展版。
這些類實現了Java Servlet和JSP規範。教程使用的版本分別是Java Servlet 2.5和JSP 2.5。
就像任何其他Java類一樣,Java Servlet可以創建和編譯。在安裝Servlet包,並將它們添加到電腦的Classpath中之後,可以使用JDK的Java編譯器或其他任何當前編譯器來編譯Servlet(POM和Eclipse項目忽略這步)。
Servlet概述