我知道,當會話失效explicitaly時,可以在HttpSessionListener Servlet的方法sessionDestroyed()中執行一些額外的東西,如打印消息或其他內容。銷燬servlet中的會話
我的問題是:
- 如果您在瀏覽器中打開,但這樣你的會話過期......將是法sessionDestroyed你沒有做任何事情()叫什麼名字?
- 如果關閉瀏覽器,會話過期,因爲你太久了......會調用sessionDestroyed()方法嗎?
謝謝!
我知道,當會話失效explicitaly時,可以在HttpSessionListener Servlet的方法sessionDestroyed()中執行一些額外的東西,如打印消息或其他內容。銷燬servlet中的會話
我的問題是:
謝謝!
這兩個問題的答案是:有。
服務器無法區分這兩種情況(假設網頁不通過Ajax自己調用服務器)。 Servlet服務器只知道該會話的最後一次調用的時間,並在超時後觸發會話銷燬。
你可以自己試試。將會話超時設置爲較小的值並等待。
HttpSessionListener
用於監視創建和銷燬的應用服務器
public void sessionDestroyed(HttpSessionEvent evt)
上是爲了通知會話即將失效會話時。
欲瞭解更多信息How to call sessionDestroyed when a session times out