servlet基礎知識

2021-09-02 02:48:37 字數 951 閱讀 5408

step1 使用字尾匹配模式。

step2 在service()方法裡加入如下**

//獲得請求資源路徑

string uri = request.getrequesturi();

所謂生命週期,指的是servlet容器如何建立servlet例項、分配其資源、呼叫其方法、並銷毀其實例的整個過程。

階段一: 例項化(就是建立servlet物件,呼叫構造器)

在如下兩種情況下會進行物件例項化。

第一種情況:

當請求到達容器時,容器查詢該servlet物件是否存在,如果不存在,才會建立例項。

第二種情況:

容器在啟動時,或者新部署了某個應用時,會檢查web.xml當中,servlet是否有 load-on-starup配置。如果有,則會建立該servlet例項。

load-on-starup引數值越小,優先順序越高(最小值為0,優先順序最高)。

階段二: 初始化

為servlet分配資源,呼叫init(servletconfig config);方法

config物件可以用來訪問servlet的初始化引數。

初始化引數是使用init-param配置的引數。

init可以override。

階段三: 就緒/呼叫

有請求到達容器,容器呼叫servlet物件的service()方法。

httpservlet的service()方法,會依據請求方式來呼叫doget()或者dopost()方法。但是,這兩個do方法預設情況下,會丟擲異常,需要子類去override。

階段四: 銷毀

容器依據自身的演算法,將不再需要的servlet物件刪除掉。

在刪除之前,會呼叫servlet物件的destroy()方法。

destroy()方法用於釋放資源。

在servlet的整個生命週期當中,init,destroy只會執行一次,而service方法會執行多次。

Servlet基礎知識

servlet必須繼承httpservlet類,每個servlet可以響應客戶端的請求 大部分時候,servlet對於所有請求的響應都一樣,此時,可以採用重寫service 方法響應客戶端所有請求。另外httpservlet還包含兩個方法 從servlet3.0開始,配置servlet有兩種方式 1...

Servlet 基礎知識

4.2 listener 前置知識 http 相關知識 執行在 web 伺服器或應用伺服器的程式,用作連線 web 瀏覽器 其他客戶端的 http 請求和資料庫的中間處理層。init servletconfig config 初始化 service servletrequest req,servle...

基礎知識(二) Servlet

servlet生命週期 servlet載入 例項化 服務 銷毀 1.init 生命中僅執行一次,在伺服器裝入servlet時執行,負責初始化servlet物件,可配置伺服器,以在 啟動伺服器或客戶首次訪問servlet時裝入servlet。2.service servlet核心,負責響應客戶的請求。...