Servlet Servlet生命週期詳解

2021-05-23 02:43:03 字數 3261 閱讀 9747

servlet

生命週期詳解

servlet

的生命週期是由

servlet

的容器來控制的。分為

3個階段:初始化階段、執行階段、銷毀階段。

øservlet

容器載入

servlet

類,把它的. class

檔案中的資料讀到記憶體中。

øservlet

容器建立

servletconfig

物件。servletconfig

物件包含了

servlet

的初始化配置資訊。此外

servlet

容器還會使得

servletconfig

物件與當前的

web應用的

servletcontext

物件關聯。

øservlet

容器建立

servlet

物件。

øservlet

容器呼叫

servlet

物件的init(servletconfigconfig)

方法。

通過初始化步驟,建立了servlet

物件和servletconfig

物件,並且servlet

物件與servletconfig

物件關聯,而servletconfig

物件又與當前物件的servletcontext

物件關聯

當servlet

容器完成

servlet

後,servlet

物件只要通過

getservletcontext()

方法就能得到

web應用的

servletcontext

物件。(1)

web應用處於執行階段時,特定的

servlet

被客戶端首次請求訪問。

(2)

web.xml

檔案中為

servlet

設定了元素

servlet1

servlet.servlet1

0

說明:

在servlet

的配置當中,

5的含義是:

標記容器是否在啟動的時候就載入這個

servlet。

當值為0

或者大於

0時,表示容器在應用啟動時就載入這個

servlet;

當是乙個負數時或者沒有指定時,則指示容器在該

servlet

被選擇時才載入。

正數的值越小,啟動該

servlet

的優先順序越高。

(3)

web應用被重新啟動時,

web應用中的所有

servlet

會在特定的時間被重新初始化。

在這個階段

sevlet

可以隨時響應客戶端的請求。當

servlet

容器接到訪問特定的

servlet

請求時,

servlet

容器會建立針對與這個請求的

servletrequest

和servletresponse

物件,然後呼叫service()

方法,並把這兩個物件當做引數傳遞給

service()

方法。service()

方法通過

servletrequest

物件獲得請求資訊,並處理該請求,再通過

servletresponse

物件生成響應結果。 【

不管是post

還是get

方法提交,都會在

service

中處理,然後,由

service

來交由相應的

dopost

或doget

方法處理,如果你重寫了

service

方法,就不會再處理

dopost

或doget

了,如果重寫

sevice()

方法,可以自己轉向

dopost()

或doget

()方法】

注:當servlet

容器把servlet

生成的響應結果傳送給客戶後,

servlet

容器會銷毀

servletrequest

和sevletresponse

物件。

當web

應用被終止時,

servlet

容器會先呼叫

web應用中所有的

servlet

物件的destroy

()方法,然後在銷毀

servlet

物件。此外容器還會銷毀與

servlet

物件關聯的

servletconfig

物件。

在destroy

()方法的實現中,可以釋放

servlet

所占用的資源。如關閉檔案輸入輸出流,關閉與資料庫的連線。 注:

sevlet

的生命週期中,

servlet

的初始化和銷毀只會發生一次,因此

init()

和destroy

()方法只能被

servlet

容器呼叫一次,兒

service()

方法取決與

servlet

被客戶端訪問的次數。

servlet servlet攔截分析

這裡有個頁面,此時,如果你使用下面這段servlet配置攔截,會發現攔截不到該頁面請求。這裡要注意下面配置中的servlet name的ex12 7和頁面中的action ex12 7 沒有關係,僅僅只是起名相同了而已,是可以不一樣的。請求結果會報404錯誤 原因是因為這個請求不符合攔截規則,沒有攔...

Servlet Servlet生命週期詳解

servlet 生命週期詳解 servlet 的生命週期是由servlet 的容器來控制的。分為3 個階段 初始化階段 執行階段 銷毀階段。servlet 容器載入servlet 類,把它的.class 檔案中的資料讀到記憶體中。servlet 容器建立servletconfig 物件。servle...

Servlet Servlet與JSP九大內建物件

servlet與jsp九大內建物件對照表 jsp內建物件out與servlet中response.getwriter 獲得物件並不完全匹配,jsp中是jspwriter型別,而servlet中獲得是printwriter型別,其實乙個是在jsp中輸出,乙個是在servlet中輸出,型別肯定不一樣 r...