1. 程式人生 > >ServletContext、ServletRequest和HttpSession的生命週期

ServletContext、ServletRequest和HttpSession的生命週期

學習web的Listener監聽器的時,監聽域物件建立的監聽器。通過監聽器重新分析著三個物件的生命週期,清晰明瞭。

首先域物件的監聽器有三個ServletContextListene、ServletRequestListene和HttpSessionListene

實現三個介面,每個介面有兩個方法,建立方法和銷燬方法,此處不詳細寫出,具體方法自行參照API幫助文件

servletContext既web應用載入到tomcat的時候被建立,從伺服器解除安裝的時候被銷燬。

servletRequest是發出請求的時候就被建立,請求結束就被銷燬.需要注意的是請求轉發的時候request是同一個請求,並不會建立新的請求,但是當重定向的時候就是一個新的請求。

在jsp頁面中的超連結到另一個jsp頁面也是重定向,此時不能獲取到request域中設定的屬性。

Httpsession在第一次訪問web頁面或servlet時並且需要一個session時被建立,session比較繞,如果在jsp頁設定session= “false”,訪問也不會建立一個session。

在jsp中建立session的HttpSession session = new HttpSession();就建立了一個session。

當session結束設定的最大存活時間的時候也會被銷燬,直接呼叫銷燬方法也會直接銷燬。

PS:這三個建立的順序->ServletContext->ServletRequest->HttpSession因為session是通過請求將Cookie頭給帶回。JSESSIONID