java web为什么我的session过期时间设为永不过期,浏览器session还是会过期

java web为什么我的session过期时间设为0或-1,这是候理论上应该是永久不失效,
但是项目在浏览器挂一段时间,session还是会自动过期
这是为什么

用cookie,把失效时间设置很长或者永不过期
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-25
浏览器关闭session就一起关闭了吧...
第2个回答  推荐于2017-09-24
Tomcat Session过期时间
Tomcat采用数据库连接池技术,当用户在一定时间不对数据库有操作时间后,就自动关闭这个连接,这是为了更好的利用资源,防止浪费宝贵的数据库连接资源。
可以采用如下三种方式,设置这个连接(Session)的过期时间:
前两个都是修改tomcat的配置文件conf
1. 在server.xml中定义context时采用如下定义:
xml 代码
<Context path="/livsorder" docBase="/home/httpd/html/livsorder"
  defaultSessionTimeOut="3600" isWARExpanded="true"
  isWARValidated="false" isInvokerEnabled="true"
  isWorkDirPersistent="false"/>
3600秒=1小时
2. 在web.xml中通过参数指定:
xml 代码
<session-config>
<session-timeout>30</session-timeout>
</session-config>
其中30表示30分钟
3. 在程序中通过servlet api直接修改
java 代码

HttpSession ses = request.getSession();
ses.setMaxInactiveInterval(10);
设置单位为秒,设置为-1永不过期。本回答被网友采纳
相似回答