java设置session过期时间的实现方法

本文实例讲述了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 it in future release

3、在程序中定义,单位为秒,设置为-1表示永不过期,示例代码为:

复制代码 代码如下:
session.setMaxInactiveInterval(30*60);

Session设置产生效果的优先循序是,先程序后配置,先局部后整体。

希望本文所述对大家的Java程序设计有所帮助。