java session 生命周期_Java中httpsession生命周期
Java中httpsession生命周期
HttpSession會話范圍是某個用戶從首次訪問服務器開始,到該用戶關閉瀏覽器結束,那么從用戶訪問到退出瀏覽器它的生命周期過程如下:
1. 當瀏覽器A向服務器發送會話請求,并且訪問服務器端某個能和瀏覽器開啟會話的servlet程序時,服務器為這次會話創建一個HttpSession對象,并會這次會話分配一個唯一標識號id。并且這個HttpSession對象和這個id唯一對應。
2. HttpSession對象存儲在服務器端,通過響應消息把會話標識id傳給瀏覽器A端。
3. 瀏覽器A只要記住這個會話標識id,并且在后續的訪問請求中把這個id傳遞給服務器,服務器根據這個id就可以判斷是哪個瀏覽器發出的請求,就可以選擇它對應的HttpSession對象。
4. 如果在特定時間內,瀏覽器都沒有向服務器發出請求,則認為該瀏覽器已經關閉,服務器負責銷毀這個瀏覽器對應的HttpSession對象。
5. 當瀏覽再次向服務器發出請求,服務器重復第一步的操作。
JSP創建session
1. 若當前的JSP是客戶端訪問的當前WEB應用的第一個資源,且JSP的page指定的session屬性值為 false, 則服務器就不會為JSP創建一個 HttpSession對象。
2. 若當前JSP不是客戶端訪問的當前WEB應用的第一個資源,且其他頁面已經創建一個HttpSession 對象,則服務器也不會為當前 JSP 頁面創建一個HttpSession對象,而回會把和當前會話關聯的那個HttpSession對象返回給當前的JSP頁面.
Serlvet創建session
若Serlvet是客戶端訪問的第一個WEB應用的資源, 則只有調用了request.getSession()或request.getSession(true)才會創建 HttpSession對象。
銷毀session
1. 程序調用HttpSession.invalidate()
2. 距離上一次收到客戶端發送的session id時間間隔超過了session的最大有效時間
3. 服務器進程被停止
版權聲明:本文為JAVASCHOOL原創文章,未經本站允許不得轉載。
總結
以上是生活随笔為你收集整理的java session 生命周期_Java中httpsession生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BugkuCTF-Misc:想蹭网先解开
- 下一篇: BugkuCTF-Misc:Linux2