本文實例講述了java設定session過期時間的實作方法,分享給大家供大家參考。具體實作方法如下:
1、Timeout in the deployment descriptor (web.xml)
以分鐘為單位
複製碼代碼如下:<web-app ...>
<session-config>
<session-timeout>20</session-timeout>
</session-config>
</web-app>
上面這種設置,對整個web應用程式生效。當客戶端20分鐘內都沒有發起請求時,容器會將session幹掉。
2、Timeout with setMaxInactiveInterval()
透過編碼方式,指定特定的session的過期時間,以秒為單位。例如:
複製程式碼程式碼如下:HttpSession session = request.getSession();
session.setMaxInactiveInterval(20*60);
The above setting is only apply on session which call the “setMaxInactiveInterval()” method, and session will be kill by container if client doesn't make any request after 20 minutes.
Thoughts….
This is a bit confusing , the value in deployment descriptor (web.xml) is in “minute”, but the setMaxInactiveInterval() method is accept the value in “second”. Both functions should synchronize accept the value in “second”. Both functions should synchronize accept the future relsecond”. Both functions shouldit in future releaseit
3.程式中定義,單位為秒,設定為-1表示永不過期,範例程式碼為:
複製碼代碼如下:session.setMaxInactiveInterval(30*60);
Session設定產生效果的優先順序是,先程序後配置,先局部後整體。
希望本文所述對大家的Java程式設計有幫助。