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.servletjavax.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 的學習之旅吧!相信您會很喜歡這個教程的。