我有一個要求,其中用戶通過身份驗證進入會話,並且在非活動狀態10分鐘後,會話超時。一旦會話超時,現在過期的會話中的任何進一步請求都會重定向到超時頁面。我在這方面進行了研究,並採用了兩種不同的方法。使用web.xml和setMaxInactiveInterval設置會話超時之間的區別
方法1:
在web.xml中我已經提到下面的代碼...
<session-config>
<session-timeout>10</session-timeout>
</session-config>
方法2:
我有認證頁面內下面提到的代碼...
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
request.getSession().setMaxInactiveInterval(600);
現在我的問題是這兩個approa的區別是什麼CHES?哪一個更好或推薦?並且,當使用方法#2時,如果最終用戶離開經過驗證的頁面導航但尚未註銷,則會話在閒置10分鐘後仍然超時?
感謝羅馬和瓦斯解釋的差異,也給了我一個好主意,使用哪種方法。我仍在等待完整的業務需求,以確定整個應用程序的超時是否一致,這將明確說明使用哪種方法。但是,由於你們兩個都在向我解釋差異。現在,由於我不能將兩個答案都標記爲我的問題的答案,所以我將Gas的解決方案標記爲已接受的答案(沒有特別的理由),並對Roman的答案進行投票。再次感謝 – Sai 2014-10-03 19:01:25