更新時間:2022-04-01 來源:黑馬程序員 瀏覽量:
Servlet是使用Java語言編寫的運行在服務器端的程序。狹義的Servlet是指Java語言實現的一個接口,廣義的Servlet是指任何實現了這個Servlet接口的類,一般情況下,人們將Servlet理解為后者。Servlet主要用于處理客戶端傳來的HTTP請求,并返回一個響應,它能夠處理的請求有doGet()和doPost()等方法。
Servlet由Servlet容器提供,所謂的Servlet容器是指提供了Servlet
功能的服務器,Servlet容器將Servlet動態的加載到服務器上。與HTTP
協議相關的Servlet使用HTTP請求和HTTP響應與客戶端進行交互。因此,Servlet容器支持所有HTTP協議的請求和響應。Servlet應用程序的體系結構如圖3-1所示:
圖3-1Servlet應用程序的體系結構
在圖3-1中,Servlet的請求首先會被HTTP服務器接收,HTTP服務器只負責靜態HTML頁面的解析,對于Servlet的請求轉交給Servlet容器,Servlet容器會根據web.xml文件中的映射關系,調用相應的Servlet,Servlet將處理的結果返回給Servlet容器,并通過HTTP服務器將響應傳輸給客戶端。Servlet技術具有如下特點:
方便:Servlet提供了大量的實用工具例程,如處理很難完成的HTML表單數據、讀取和設置HTTP頭,以及處理Cookie和跟蹤會話等。
跨平臺:Servlet用Java類編寫,可以在不同操作系統平臺和不同應用服務器平臺下運行。
靈活性和可擴展性:采用Servlet開發的Web應用程序,由于Java類的繼承性及構造函數等特點,使得應用靈活,可隨意擴展。
除了上述幾點外,Servlet還具有功能強大、能夠在各個程序之間共享數據、安全性強等特點。