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 執行以下主要任務:
讀取客戶端(瀏覽器)傳送的顯式的數據。這包括網頁上的 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 的學習之旅!相信您會很喜歡這個教學的。