tomcat设置session过期,不能正常失效。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat设置session过期,不能正常失效。相关的知识,希望对你有一定的参考价值。
tomcat设置session过期时间, 我把session 设置为 5分钟过期,,但是页面半个多小时没动了,再点页面,还是不过期。。。此时页面也没有任务,会定期自动刷新之类的,页面就是一个绝对静止的页面。三种设置session的方法,我都用了。session.setMaxInactiveInterval();我设置了, web.xml 里面也设置了过期时间 ,server.xml里面的context也设置了过期属性。并且保证设置的都正确。就是不行。。有知道可能是什么原因引起的么tomcat下work目录中的缓存我也清理了。浏览器的cookie之类的记录也清理了。
参考技术A 设置 生效时间 很长 就可以 参考技术B 你先一个方法一个方法的实验,如果都设置了,应该有优先级的问题。设置完了之后保证重启程序和服务。Tomcat/weblogic session失效时间的几种设置方法
一、在容器中设置
tomcat中配置server.xml中定义context时采用如下定义:
<Context path="/livsorder" docBase="/home/httpd/html/livsorder" defaultSessionTimeOut="3600" isWARExpanded="true" isWARValidated="false" isInvokerEnabled="true" isWorkDirPersistent="false"/>
weblogci中设置weblogic特有部署描述符weblogic.xml的<session-descriptor>元素的timeoutsecs 属性。这个值以秒为单位
<session-descriptor>
<session-param>
<param-name>timeoutsecs</param-name>
<param-value>2600</param-value>
</session-param>
</session-descriptor>
默认值是2600秒
二、web应用设置,优先级比容器中高
设置web应用程序描述符web.xml里的<session-timeout>元素。这个值以分钟为单位,并覆盖 weblogic.xml中的timeoutsecs属性
<session-config>
<session-timeout>24</session-timeout>
</session-config>
此例表示session将在24分钟后过期 ,默认设置是30分钟。当<session- timeout>设置为-2,表示将使用在weblogic.xml中设置的timeoutsecs这个属性值。当<session- timeout>设置为-1,表示session将永不过期,而忽略在weblogic.xml中设置的timeoutsecs属性值。该属性值可以通过console控制台来设置
三、应用代码中设置,优先级最高
jsp中控制
session.setmaxinactiveinterval(7200);
session是默认对象,可以直接引 用,单位秒s
4,servlet中控制
httpsession session = request.getsession();
session.setmaxinactiveinterval(7200);
单位秒 s
以上是关于tomcat设置session过期,不能正常失效。的主要内容,如果未能解决你的问题,请参考以下文章
TP3.2.*解决session过期不失效 和 设置不成功问题