Servlet(Server Applet)是 Java Servlet 的簡稱,是使用 Java 語言編寫的運行在服務(wù)器端的程序季蚂。具有獨立于平臺和協(xié)議的特性冷离,主要功能在于交互式地瀏覽和生成數(shù)據(jù)上遥,生成動態(tài)Web內(nèi)容。
通常來說,Servlet 是指所有實現(xiàn)了 Servlet 接口的類厦坛。
- Servlet 主要用于處理客戶端傳來的 HTTP 請求五垮,并返回一個響應(yīng),它能夠處理的請求有 doGet() 和 doPost() 等杜秸。
- Servlet 由 Servlet 容器提供放仗,Servlet 容器是指提供了 Servlet 功能的服務(wù)器(如 Tomcat)。
- Servlet 容器會將 Servlet 動態(tài)加載到服務(wù)器上撬碟,然后通過 HTTP 請求和 HTTP 應(yīng)與客戶端進(jìn)行交互诞挨。
Servlet 應(yīng)用程序的體系結(jié)構(gòu)如圖 1 所示。
在圖 中呢蛤,Servlet 的請求首先會被 HTTP 服務(wù)器(如 Apache)接收惶傻,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ù)具有如下特點。
1)方便
Servlet 提供了大量的實用工具例程汽抚,如處理很難完成的 HTML 表單數(shù)據(jù)抓狭、讀取和設(shè)置 HTTP 頭,以及處理 Cookie 和跟蹤會話等造烁。
2)跨平臺
Servlet 使用 Java 類編寫否过,可以在不同的操作系統(tǒng)平臺和不同的應(yīng)用服務(wù)器平臺運行。
3)靈活性和可擴(kuò)展性強
采用 Servlet 開發(fā)的 Web 應(yīng)用程序惭蟋,由于 Java 類的繼承性及構(gòu)造函數(shù)等特點苗桂,使得應(yīng)用靈活,可隨意擴(kuò)展告组。