设置Session永不过期,Session有效时间的问题

保持Session的方法:有人说设session.timeout=-1,或小于0的数。这种方法肯定是不行的,session计算时间以分钟为单位,必须是大于等于1的整数。又有人说设session.timeout=99999。这种同样不行,session有最大时间限制。我经过测试发现最大值为24小时,也就是说你最大可以session.timeout=1440,1441都是不可以有,呵呵。本人测试环境:win2003+IIS6.0+ASP3.0。 

所以想通过设session.timeout的过期时间让session永不过期是不可能的。写到Cookies里是比较好的方法,网上也有很多这样的教程,这里就不再说了!还有就是用在要保持session的页里设隐藏iframe每隔一段时间(这个时间小于session.timeout的时间)把刷新一次frame里的空页面!实现方法如下: 

在要保持session页里加上: <iframe width=0 height=0 src="/blog/SessionKeeper.asp"> 
</iframe> 


同目录下建一下SessionKeeper.asp的文件。 <html> 
<head> 
<meta http-equiv="Refresh" content="900000;url=sessionKeeper.asp"> 
<!--每隔900秒刷新一下自己,为了和服务器通讯一下,保持session不会丢--> 
</head> 
</html> 


这种方法还是比较长见的,另外还有一种和上面类似的方法,不过他不是用meta自动刷新嵌套的iframe的方法。他是用javascript:window.setTimeout("functionname()",10000);第隔一段时间时间自动调用一个函数的方法,当然函数里还是要去连接一个空的文件。具体方法如下: 

在要保持session面里加上: <script id=Back language=javascript></script> 

<script language=javascript> 
function keepsession(){ 
document.all["Back"].src="/blog/SessionKeeper.asp?RandStr="+Math.random(); 
//这里的RandStr=Math.random只是为了让每次back.src的值不同,防止同一地址刷新无效的情况 
window.setTimeout("keepsession()",900000); //每隔900秒调用一下本身 

keepsession(); 
</script> 

这样同一目录下建一个空内容的sessionKeeper.asp就文件就可以了!
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才会失效。默认情况下,Tomcat的session超时时间单位是秒,但是如果设置的值小于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、付费专栏及课程。

余额充值