1.Servlet接口詳細(xì)介紹
在
servlet技術(shù)入門中,我們對(duì)Servlet接口有了一個(gè)初步的認(rèn)識(shí),通過查看J2EE API來詳細(xì)了解Servlet接口。首先來了解Servlet接口一些相關(guān)的方法,如圖1-1所示:
圖1-1 Servlet API
由圖1-1可知,Servlet接口一共定義了5個(gè)抽象方法,接下來對(duì)這5個(gè)方法進(jìn)行詳細(xì)的介紹,如表1-1所示:
表1-1 Servlet接口的方法
方法聲明 |
功能描述 |
void destroy() |
該方法是銷毀方法,在Servlet實(shí)例被銷毀之前,Tomcat服務(wù)器調(diào)用該方法,在Servlet的一生中只調(diào)用一次。 |
ServletConfig getServletConfig() |
該方法返回一個(gè)ServletConfig對(duì)象,通過這個(gè)對(duì)象可以獲取到Servlet的相關(guān)配置信息。返回的這個(gè)對(duì)象是由服務(wù)器創(chuàng)建,通過init()方法傳入到Servlet中,然后再傳遞給getServletConfig()方法。 |
String getServletInfo() |
返回一個(gè)字符串,其中包含了Servlet的相關(guān)信息,例如,作者、版本和版權(quán)等信息。 |
void init(ServletConfig config) |
初始化方法,當(dāng)服務(wù)器創(chuàng)建了Servlet實(shí)例,就會(huì)立即調(diào)用該方法,完成初始化操作,該方法在Servlet的一生中也只被調(diào)用一次。 |
void service(ServletRequest req,ServletResponse res) |
該方法是處理請(qǐng)求的方法,當(dāng)服務(wù)器接受到客戶端訪問Servlet的請(qǐng)求時(shí),就會(huì)調(diào)用該方法。服務(wù)器會(huì)創(chuàng)建一個(gè)表示客戶端請(qǐng)求的ServletRequest對(duì)象和一個(gè)用于響應(yīng)客戶端的ServletResponse對(duì)象作為參數(shù)傳遞給service()方法。在service()方法中,可以通過ServletRequest對(duì)象獲得客戶端的相關(guān)請(qǐng)求信息,在對(duì)請(qǐng)求進(jìn)行處理之后,可以調(diào)用ServletResponse對(duì)象設(shè)置響應(yīng)信息。該方法在Servlet的一生中會(huì)被調(diào)用多次。 |
2.實(shí)現(xiàn)第一個(gè)Servlet程序
為了幫助大家快速學(xué)習(xí)Servlet開發(fā),接下來,分步驟實(shí)現(xiàn)一個(gè)Servlet程序,具體如下:
(1)使用Myeclipse創(chuàng)建一個(gè)web應(yīng)用,Example08。選擇【src】目錄,單擊右鍵,選擇【New】à【Class】選項(xiàng),如圖1-2所示:
圖1-2 新建類ServletOne
(2)如圖1-2所示,在【Package】填寫框中寫上類所在的包名,然后在【Name】填寫框中寫上創(chuàng)建類的名字。最后點(diǎn)擊【Add】按鈕,進(jìn)入如圖1-3所示界面:
圖1-3 添加Servlet接口實(shí)現(xiàn)
(3)如圖1-3所示,點(diǎn)擊【OK】按鈕,進(jìn)入如圖1-4所示界面:
圖1-4 類創(chuàng)建完成
通過以上幾步我們已經(jīng)創(chuàng)建了一個(gè)Servlet類,以下是ServletOne類的具體代碼,如例1-1所示:
例1-1 ServletOne.java
由例1-1可知,ServletOne實(shí)現(xiàn)了Servlet接口之后,重寫了Servlet接口的所有方法。結(jié)合表1-1中對(duì)每個(gè)方法的說明,我們需要注意以下幾點(diǎn):
- Servlet實(shí)例是由服務(wù)器創(chuàng)建;
- Servlet接口中的這五個(gè)方法,和生命周期相關(guān)的方法不是由我們自己調(diào)用的,而是由服務(wù)器調(diào)用;
- 這個(gè)五個(gè)方法中有三個(gè)方法和Servlet的生命周期有關(guān),分別是init()、destory()及service()方法。
生命周期可以理解為一個(gè)人從出生到死亡這一過程,Servlet的生命周期就是指從Servlet實(shí)例被創(chuàng)建,到Servlet實(shí)例被銷毀這一過程。Servlet實(shí)例被創(chuàng)建之后,服務(wù)器會(huì)調(diào)用init()方法對(duì)Servlet進(jìn)行初始化操作,客戶端每次請(qǐng)求Servlet,服務(wù)器都會(huì)調(diào)用service()方法進(jìn)行處理,在Servlet實(shí)例被銷毀前,服務(wù)器會(huì)調(diào)用destroy方法。
本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://m.8y3kgpwe.cn/javaee