session永不失效

session永不失效问题由来由于网站设置了默认的 session 失效时间是 30 分钟 但是当用户在某个页面停留时间超过 30 面的话 session 就失效了 需要重新登录

大家好,欢迎来到IT知识分享网。

问题由来

由于网站设置了默认的session失效时间是30分钟,但是当用户在某个页面停留时间超过30面的话,session就失效了,需要重新登录。这对于一般的页面没有问题,但是对于一些编辑页面问题就大了,用户辛辛苦苦编辑的内容已提交,就什么也没有了。

解决方法

在需要保持session的页面,包含一个不可见的iframe,在iframe中,每个一定的时间就向服务器端发送请求,从而保持session。

实现代码

在要保持session的页面添加如下代码:

<iframe src="/lc/keepSessionAlive.jsp" frameborder="0" height="0" scrolling="no"></iframe> 

keepSessionAlive.jsp的代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<%
	//System.out.println(Math.random());
%>
<script type="text/javascript">   
function keepsession(){
	var href = document.location.href;
	var url = href.substring(0, href.indexOf("jsp"))+"jsp?RandStr="+Math.random();
	document.location=url;
}   
window.setTimeout("keepsession()",600000);//request the server per 10 mins.
</script>

注意事项

重新加载页面的时候,要加上随机数的参数,否则页面有可能页面被缓存起来,达不到想要的效果。url后面加随机参数,在很多场合都有用到,当你觉得问题莫名其妙的时候,你想到过随机数参数吗?


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/112531.html

(0)
上一篇 2026-01-17 19:00
下一篇 2026-01-17 19:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信