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