2012-10-29 57 views
3

在Java EE HttpSession中,當我將會話超時設置爲負數時(通過使用setMaxInactiveInterval),據說我認爲即使在瀏覽器關閉後也應該保留它。但根據這個頁面Session Lost when closing the browser,它似乎沒有。如何在瀏覽器關閉後保留會話?

這是怎麼發生的?那麼我必須使用cookie來存儲會話ID?那我該如何自己生成這個會話ID?如果我自己管理會話,我將失去HttpSession的優勢。

我在這種情況下使用Tomcat。你們如何解決這個問題?這樣做最簡單的方法是什麼?

+1

1.在設置cookie壽命的過濾器上張貼一些代碼。 2.確保你的瀏覽器允許cookies – kolossus

+0

@kolossus我還在學習J2EE,還沒有觸及過濾器。在關閉瀏覽器之後,會話(J2EE)會繼續嗎?或者無論我們在setMaxInactiveInterval中設置了超時時間,如果我們關閉瀏覽器,會話仍然會被銷燬? – GMsoF

+0

所以你還沒有測試過任何東西嗎? – kolossus

回答

0

您可以使用數據庫中的標誌來檢查該人是否已註銷,而不是使用cookie。所以你不必擔心過濾器和cookies

確保在用戶註銷後切換標誌。

相關問題