java session设置过期时间

Thu Oct 15 16:23:34 CST 2015 1985 Java

文章摘要一般java web项目中都会遇到设置session超时时间的需求。Tomcat默认的session过期时间为30分钟。这里介绍三种设置session过期(失效)时间的方法。

session是由浏览器和服务器之间维护的,作用相当于是给无连接的HTTP协议维护了一条连接。什么是session超时?session超时可以这样理解:浏览器和服务器之间创建了一个session,由于客户端长时间没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了,session过期时间就是指客户端连续两次与服务器交互的最大间隔时间,一旦超过这个最大的间隔时间,那么服务器端就会把这个session销毁。


由于维护session就需要耗费内存,如果用户量多了,自然影响web网站/应用的用户体验,因此往往需要根据具体业务需要,调整session过期策略。


这里介绍java web设置session过期时间的三种方法:


1.java代码中设置:

HttpSession session = request.getSession();
session.setMaxInactiveInterval(15*60);        //单位为秒,15*60表示20分钟


2.在web.xml中配置

<!-- 单位为分钟   -->  
<session-config>
      <session-timeout>15</session-timeout>
</session-config>


3.在web容器配置文件中设置

在tomcat\conf\web.xml中设置

<!-- 单位为分钟   -->
<session-config>
        <session-timeout>15</session-timeout>
</session-config>


以上三种方法中,-1均表示永不过期

打赏
打赏

分享到: