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)

posted @ 2016-09-19 11:48  星星满天  阅读(526)  评论(0编辑  收藏  举报