java设置session过期时间的实现方法
本文实例讲述了java设置session过期时间的实现方法,分享给大家供大家参考。具体实现方法如下:
1、Timeoutinthedeploymentdescriptor(web.xml)
以分钟为单位
<web-app...> <session-config> <session-timeout>20</session-timeout> </session-config> </web-app>
上面这种设置,对整个web应用生效。当客户端20分钟内都没有发起请求时,容器会将session干掉。
2、TimeoutwithsetMaxInactiveInterval()
通过编码方式,指定特定的session的过期时间,以秒为单位。例如:
HttpSessionsession=request.getSession(); session.setMaxInactiveInterval(20*60);
Theabovesettingisonlyapplyonsessionwhichcallthe“setMaxInactiveInterval()”method,andsessionwillbekillbycontainerifclientdoesn'tmakeanyrequestafter20minutes.
Thoughts….
Thisisabitconfusing,thevalueindeploymentdescriptor(web.xml)isin“minute”,butthesetMaxInactiveInterval()methodisacceptthevaluein“second”.Bothfunctionsshouldsynchronizeitinfuturerelease
3、在程序中定义,单位为秒,设置为-1表示永不过期,示例代码为:
session.setMaxInactiveInterval(30*60);
Session设置产生效果的优先循序是,先程序后配置,先局部后整体。
希望本文所述对大家的Java程序设计有所帮助。