-
如何保持session永不失效
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
session永不失效
问题由来
由于网站设置了默认的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.
注意事项
重新加载页面的时候,要加上随机数的参数,否则页面有可能页面被缓存起来,达不到想要的效果。url后面加随机参数,在很多场合都有用到,当你觉得问题莫名其妙的时候,你想到过随机数参数吗?
-
-
- 标签:
- 重新
- 代码
- 参数
- session
- jsp
- math.random
- xhtml1
- 永不失效
- 页面
- 保持
- url
-
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~