修改tomcat默认的session时间永不过期

修改tomcat默认的session时间永不过期

冷月宫主 

转自:  http://blog.sina.com.cn/s/blog_6d00214601013fag.html

 

session超时设置
具体设置很简单,方法有三种:


  (1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(600);参数600单位是秒,即在没有10分钟活动后,session将失效。


  这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。

  (2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置

  <!-- 设置session失效,单位分 -->


  <session-config>


  <session-timeout>1</session-timeout>


  </session-config>
// 设置为0,-1 表示永不超时


  (3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中找到<session-config>元素,tomcat默认设置是30分钟,只要修改这个值就可以了。


  需要注意的是如果上述三个地方如果都设置了,有个优先级的问题,从高到低:(1)>(2)>(3)

session timeout是指Session在没有活动(即没有客户端访问)的一段时间后自动失效的时间。在Tomcat中,可以通过设置sessionTimeout属性来设定session超时时间。这个值可以通过调用setSessionTimeout方法来设置。如果超时时间设置为0或负数,表示session永不过期。当session超时时间到达后,session会被标记为失效,即能再使用。 在Tomcat中,会根据客户端最后访问时间和当前时间来计算session的闲置时间(idle time)。闲置时间是指从客户端最后访问时间到当前时间时间差。可以通过调用getIdleTimeInternal方法来获取session的闲置时间。如果闲置时间超过了设定的session超时时间,则会使session失效。 在每次请求中,Tomcat会更新session的lastAccessedTime和thisAccessedTime两个时间戳。lastAccessedTime表示上一次客户端访问的时间,thisAccessedTime表示当前请求的时间。只有当闲置时间超过设定的session超时时间时,session才会失效。默认情况下,Tomcatsession超时时间单位是秒,但是如果设置的值小于60,会被重置为60并转换为分钟单位来计算,默认超时时间是30分钟(1800秒)。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [聊聊springboot session timeout参数设置](https://blog.csdn.net/weixin_34349320/article/details/87994845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值