李秋
摘 要:Serlet是使用應(yīng)用程序設(shè)計(jì)接口(API)以及相關(guān)類和方法的java程序。Java Servlet是運(yùn)行在請(qǐng)求/面向請(qǐng)求服務(wù)器上的模塊,它運(yùn)行在Servlet容器中,Servet容器負(fù)責(zé)Servlet和客戶的通信以及調(diào)用Servlet的方法
關(guān)鍵詞:Serlet 接口 服務(wù)器
一、Servlet主要功能
創(chuàng)建并返回一個(gè)包含基于客戶請(qǐng)求性質(zhì)動(dòng)態(tài)內(nèi)容的HTML頁(yè)面。創(chuàng)建可嵌入到現(xiàn)有HTML頁(yè)面中的一部分HTML頁(yè)面(即HTML片段)。與其他服務(wù)器資源(包含數(shù)據(jù)庫(kù)和基于Java的應(yīng)用程序)進(jìn)行通信。用多個(gè)客戶機(jī)處理鏈接,接收多個(gè)客戶機(jī)的輸入,并將結(jié)果傳播到多個(gè)客戶機(jī)上。例如:Servlet可以是多參與者的游戲服務(wù)器。
當(dāng)允許在單連接方式下傳送數(shù)據(jù)的時(shí)候,在瀏覽器上打開(kāi)服務(wù)器至Applet的新連接, 并將該連接保持在打開(kāi)狀態(tài)。當(dāng)允許客戶機(jī)和服務(wù)器簡(jiǎn)單、高效的執(zhí)行會(huì)話時(shí),Applet也可以啟動(dòng)客戶瀏覽器和服務(wù)器之間的連接。可以通過(guò)定制協(xié)議或標(biāo)準(zhǔn)(llop)進(jìn)行通信。
對(duì)特殊的處理采用MlME類型過(guò)濾數(shù)據(jù)。例如,圖像轉(zhuǎn)換和服務(wù)器端包括Servet Side lnclude(SSl)。將定制的處理提供給所有服務(wù)器的標(biāo)準(zhǔn)執(zhí)行程序。例如,Servlet可以修改如何認(rèn)證用戶。最早支持Servlet技術(shù)的是JavaSoft的Java Web Servet。此后,一些其他基于Java的Web Servet開(kāi)始支持標(biāo)準(zhǔn)的Servlet Apl。Servlet的主要功能在于交互地瀏覽和修改數(shù)據(jù), 生成動(dòng)態(tài)Web內(nèi)容。這個(gè)過(guò)程為:客戶端發(fā)送請(qǐng)求至服務(wù)器端。服務(wù)器將請(qǐng)求信息發(fā)送至Servlet。Servlet生成響應(yīng)內(nèi)容并將其傳給Server。響應(yīng)內(nèi)容動(dòng)態(tài)生成,通常取決于客戶端的請(qǐng)求。服務(wù)器將響應(yīng)返回給客戶端。
二、Servlet的生命周期
運(yùn)行在Web服務(wù)器上的Servlet是Web服務(wù)器進(jìn)程的一部分,Web服務(wù)器負(fù)責(zé)Servlet的初始化、調(diào)用和銷毀。Servlet編程是通用javax.servlet和javax.servlet.http這兩個(gè)包提供的類或接口實(shí)現(xiàn)的,其中java.servlet,Servlet接口是最重要的接口,任何Servlet都必須實(shí)現(xiàn)這個(gè)接口或者繼承實(shí)現(xiàn)這個(gè)接口的類。
三、加載和實(shí)例化 Servlet
Tomcat服務(wù)器在如下時(shí)刻加載和例化Servlet。
如果已配置自動(dòng)裝入選項(xiàng),則在啟,動(dòng)服務(wù)器時(shí)自動(dòng)裝入。在服務(wù)器啟動(dòng)后,客戶機(jī)首次向Servlet發(fā)出請(qǐng)求時(shí)??蛻魴C(jī)首先要查找一個(gè)配置文件(也稱為部署文件)web.xml。這個(gè)配置文件中記錄了可以提供服務(wù)的Servlet。每個(gè)Servlet被指定一個(gè)Servlet名和這個(gè)Servlet實(shí)際對(duì)應(yīng)的java的完整.class文件名。
Servlet容器會(huì)每個(gè)配置自動(dòng)裝入選項(xiàng)(配置文件使用《load-on-startup》1