2017-04-11 169 views
-1

我知道,當會話失效explicitaly時,可以在HttpSessionListener Servlet的方法sessionDestroyed()中執行一些額外的東西,如打印消息或其他內容。銷燬servlet中的會話

我的問題是:

  1. 如果您在瀏覽器中打開,但這樣你的會話過期......將是法sessionDestroyed你沒有做任何事情()叫什麼名字?
  2. 如果關閉瀏覽器,會話過期,因爲你太久了......會調用sessionDestroyed()方法嗎?

謝謝!

回答

1

這兩個問題的答案是:有。

服務器無法區分這兩種情況(假設網頁不通過Ajax自己調用服務器)。 Servlet服務器只知道該會話的最後一次調用的時間,並在超時後觸發會話銷燬。

你可以自己試試。將會話超時設置爲較小的值並等待。