更新時間:2022-04-01 來源:黑馬程序員 瀏覽量:
Servlet是使用Java語言編寫的運(yùn)行在服務(wù)器端的程序。狹義的Servlet是指Java語言實(shí)現(xiàn)的一個接口,廣義的Servlet是指任何實(shí)現(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)與客戶端進(jìn)行交互。因此,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ù)器只負(fù)責(zé)靜態(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ù)具有如下特點(diǎn):
方便:Servlet提供了大量的實(shí)用工具例程,如處理很難完成的HTML表單數(shù)據(jù)、讀取和設(shè)置HTTP頭,以及處理Cookie和跟蹤會話等。
跨平臺:Servlet用Java類編寫,可以在不同操作系統(tǒng)平臺和不同應(yīng)用服務(wù)器平臺下運(yùn)行。
靈活性和可擴(kuò)展性:采用Servlet開發(fā)的Web應(yīng)用程序,由于Java類的繼承性及構(gòu)造函數(shù)等特點(diǎn),使得應(yīng)用靈活,可隨意擴(kuò)展。
除了上述幾點(diǎn)外,Servlet還具有功能強(qiáng)大、能夠在各個程序之間共享數(shù)據(jù)、安全性強(qiáng)等特點(diǎn)。