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