對於Session會不會在關閉瀏覽器時失效這個問題...

通常情況下,我們所說的失效是指我們無法繼續對其進行利用。對此我們必須要清除自己口中所說的失效到底是什麼意思。

事實上,當我們關閉瀏覽器時,我們只是關閉了客戶端,而 session 是存儲在服務端上的,所以從理論上講,session 的消失和瀏覽器的關閉並沒有多大的關係

再者,在我們平時的編程中可能會碰到這樣的問題:打開瀏覽器測試後一段時間不去理會它,再次刷新時發現 session 失效了。從這點也能得出問題的答案。tomcat 的默認的 session 存儲時間爲30分鐘(好像是吧!),從第一次請求創建 session 開始計時,超時後不論瀏覽器是否關閉,session 都會失效。因此通常使用 session.setMaxInactiveInterval( )方法來設置 session 的超時時間。

通過以上兩點即可得出問題的答案!

session 是服務器對象,每個 session 都由唯一的 sessionid 標識。sessionid 存儲於內存中Cookie,關閉瀏覽器時 sessionid 會隨內存中 Cookie 消失,而session 不會隨之消失。不過再次打開瀏覽器時已經無法找到原有的 session了。另外,session 超時後會被清除

面對這種問題我們可以與Cookie混用使 sessionid 傳遞迴服務器,那麼 sessionid 便不會受瀏覽器作用,我們便可以很方便的使用 session 。

session、sessionid、Cookie 的關係參考可 http://www.cnblogs.com/fnng/archive/2012/08/14/2637279.html

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