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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM