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