Latest web development tutorials

Servlet 簡介

Servlet 是什麼?

Java Servlet 是運行在Web 服務器或應用服務器上的程序,它是作為來自Web 瀏覽器或其他HTTP 客戶端的請求和HTTP 服務器上的數據庫或應用程序之間的中間層。

使用Servlet,您可以收集來自網頁表單的用戶輸入,呈現來自數據庫或者其他源的記錄,還可以動態創建網頁。

Java Servlet 通常情況下與使用CGI(Common Gateway Interface,公共網關接口)實現的程序可以達到異曲同工的效果。 但是相比於CGI,Servlet 有以下幾點優勢:

  • 性能明顯更好。
  • Servlet 在Web 服務器的地址空間內執行。 這樣它就沒有必要再創建一個單獨的進程來處理每個客戶端請求。
  • Servlet 是獨立於平台的,因為它們是用Java 編寫的。
  • 服務器上的Java 安全管理器執行了一系列限制,以保護服務器計算機上的資源。 因此,Servlet 是可信的。
  • Java 類庫的全部功能對Servlet 來說都是可用的。 它可以通過sockets 和RMI 機制與applets、數據庫或其他軟件進行交互。

Servlet 架構

下圖顯示了Servlet 在Web 應用程序中的位置。

Servlet 架構

Servlet 任務

Servlet 執行以下主要任務:

  • 讀取客戶端(瀏覽器)發送的顯式的數據。 這包括網頁上的HTML 表單,或者也可以是來自applet 或自定義的HTTP 客戶端程序的表單。
  • 讀取客戶端(瀏覽器)發送的隱式的HTTP 請求數據。 這包括cookies、媒體類型和瀏覽器能理解的壓縮格式等等。
  • 處理數據並生成結果。 這個過程可能需要訪問數據庫,執行RMI 或CORBA 調用,調用Web 服務,或者直接計算得出對應的響應。
  • 發送顯式的數據(即文檔)到客戶端(瀏覽器)。 該文檔的格式可以是多種多樣的,包括文本文件(HTML 或XML)、二進製文件(GIF 圖像)、Excel 等。
  • 發送隱式的HTTP 響應到客戶端(瀏覽器)。 這包括告訴瀏覽器或其他客戶端被返回的文檔類型(例如HTML),設置cookies 和緩存參數,以及其他類似的任務。

Servlet 包

Java Servlet 是運行在帶有支持Java Servlet 規範的解釋器的web 服務器上的Java 類。

Servlet可以使用javax.servlet和javax.servlet.http包創建,它是Java企業版的標準組成部分,Java企業版是支持大型開發項目的Java類庫的擴展版本。

這些類實現Java Servlet 和JSP 規範。 在寫本教程的時候,二者相應的版本分別是Java Servlet 2.5 和JSP 2.1。

Java Servlet 就像任何其他的Java 類一樣已經被創建和編譯。 在您安裝Servlet 包並把它們添加到您的計算機上的Classpath 類路徑中之後,您就可以通過JDK 的Java 編譯器或任何其他編譯器來編譯Servlet。

下一步呢?

接下來,本教程會帶你一步一步地設置您的Servlet 環境,以便開始後續的Servlet 使用。 因此,請係緊您的安全帶,隨我們一起開始Servlet 的學習之旅吧! 相信您會很喜歡這個教程的。