session超时设置
session的设置方法有三种:
1、直接在应用服务器中设置
如果是Tomcat,可以在Tomcat目录下conf/web.xml中找到<session-config>元素,tomcat默认设置是30分钟,只要修改这个值就可以了,我们可以看到Tomcat默认超时也是30分钟
2、通用的设置session失效时间的方法,就是在项目的web.xml中设置
<!-- 设置session 有效时间为30分钟 --> <session-config> <session-timeout>30</session-timeout> </session-config>
<!-- 设置session为0或-1表示永不超时 --> <session-config> <session-timeout>-1</session-timeout> </session-config>
3、在页面中设置
在主页面或者公共页面中加入:session.setMaxInactiveInterval(600);参数600单位是秒,即在没有10分钟活动后,session将失效
HttpSession session = request.getSession(); session.setAttribute(Constants.SESSION_USER_INFO, user); session.setMaxInactiveInterval(600);
注:这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端
如果再三处都设置了session,那么就有session优先级的问题:(3)>(2)>(1)