2012-03-22 123 views
0

如何在用戶關閉瀏覽器時不註銷註銷時註銷註銷時間?檢索註銷時間而不註銷

因此,我實施了HttpSessionBindingListener取自here並添加了Listener in web.xml,但註銷瀏覽器後沒有將註銷時間插入到數據庫中。任何建議,請問我錯了?

logout.jsp

+0

一種選擇是實現卸載事件處理程序如[http://stackoverflow.com/questions/2621927/ondemand-javascript-call-on-window-unload-using-jquery][1] 解釋 [1]:http://stackoverflow.com/questions/2621927/ondemand-javascript-call-on-window-unload-using-jquery – Baski 2012-03-22 10:29:07

回答

1

關閉瀏覽器不會觸發到服務器的任何要求,所以沒有辦法可以知道用戶關閉他的瀏覽器。 您可以使用偵聽器來讓會話超時,然後在發生這種情況時存儲當前時間。不過,會話通常會在客戶端發出最後一次請求之後幾小時過期。

+0

yes'會話在30分鐘後失效,如'web中給出的。 xml'我怎麼能知道這個會話無效的時間在logout.jsp? – Tom 2012-03-22 10:21:41

+0

您可以實現SessionListener(http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpSessionListener.html)並存儲調用'sessionDestroyed'時的當前時間。 – 2012-03-22 10:30:17

+0

感謝Mathias爲你的答案我試圖實現你的方法 – Tom 2012-03-22 10:39:36

0

您可以使用JavaScript的window.onbeforeunload發送AJAX請求到servlet來記錄用戶關閉瀏覽器的時間和你在會話對象需要什麼。

+0

onbeforeunload不僅會在瀏覽器關閉時被調用。 – 2012-03-22 10:29:09

+0

感謝Behrooz爲你的答案,但你可以請添加更多一點給你的答案,以便我可以實現它,我應該如何使用這個'window.onbeforeunload'? – Tom 2012-03-22 10:30:20

+0

是不是onbeforeunload非標準? – Baski 2012-03-22 10:31:29