java web中的Session

Session的生命週期

一、創建session對象

 當打開瀏覽器第一次訪問jsp或servlet時,服務器端創建session對象,通過設置cookie的方式,把JSESSIONID存放到瀏覽器中,瀏覽器再次訪問服務器時,自動攜帶JSESSIONID。訪問其他資源時,訪問的都是同一個session對象。

當服務器端設置request.getSeesion(false)時,不創建session對象

當服務端設置request.getSession(true)或者request.getSession()時,如果有session對象,則不創建新的session,如果沒有session對象,則創建新session對象


特別注意:如果瀏覽器禁用Cookie,則服務器端每次都創建新的session對象

如果瀏覽器禁用Cookie,可以通過response.encodeURL("url")的方式,攜帶jsessionid

例如:http://localhost:8080/jspweb/session1.jsp;jsessionid=E6EF490A8B687F173251D0442AB90A19


二、銷燬session對象

1、顯示調用session.invalidate()方法

2、session過期 通過修改web.xml或者寫代碼session.setMaxInactiveInterval(30)設置過期時間



三、問題

是否關閉瀏覽器,session就銷燬呢?

答案是否定的。如果將JSESSIONID通過像設置cookie的方式,持久化到瀏覽器,則關閉瀏覽器也不會銷燬session

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章