最近为公司内部做了一个内部使用的系统,现在要求我为SESSION有效期设置长一点,最好是登陆一次以后只要不退出、不关闭浏览器就一直可以用。
开始想request.getSession().setMaxInactiveInterval(-1);让它永不过期,但是后来发现这样做不行。
于是我设置为request.getSession().setMaxInactiveInterval(36000);
以上设置是设置在用户登陆成功时。
按说这样应该是10小时内有效啊,但是现在有时候却是刚登陆的帐号在切换几个页面就过期了。
请知道的解释一下,还有,setMaxInactiveInterval(36000)里面的36000到底是说从创建到失效的时间还是SESSION的不活动时间?

解决方案 »

  1.   

    web.xml
    <session-config>
    <session-timeout>1000</session-timeout>
    </session-config>
    单位为分钟,你可以改为更久
      

  2.   

    肯定是你其他程序里有问题,设置是对的。
    当然重新打开一个页面就不是一个session了,看看有没有用cookies,如果有的话看看cookies里面登录时设置的不活动时间。
    楼上的不要误人子弟,setMaxInactiveInterval看英文就知道是“设置最大不活动间隔”了
      

  3.   

    没有使用cookie,我在每个用户登陆成功以后设置的啊,这样用户的登陆信息不可能在我这是的这个时间段只要不退出、不关闭浏览器就应该不会丢失啊,但是现在实际的问题就是丢失了。
    最奇怪的就是又不是每个用户都丢失。有的一直有效
      

  4.   

    虽然通过设置web.xml问题已经解决,但是为什么request.getSession().setMaxInactiveInterval(36000); 这样设置就好象没一点作用?