`
Supanccy2013
  • 浏览: 213655 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

不断刷新页面的session超时控制

阅读更多
注:原创作品,转载请注明出处


解决方案:
1,在页面元素加载之前,定义js计时器,并赋值为0;
2,在页面元素加载之前,绑定body的鼠标单击事件处理函数--每次鼠标单击body都重新赋值计时
   器为0;
3,在html中body中定义一个隐藏域,值为服务器上session的最大时间。
4,在页面元素加载完毕后,启动session超时监听器:该监听器实现的功能是:
   获取页面上隐藏域的session的最大超时时间,
   比较计数器和session最大值,如果计时器的数值小于session的最大时间则,计数器+1,重新
   调用session监听器,  如果计数器的数值大于等于session的的最大时间,则调用dwr或ajax
   让后台的session失效


实例:
<html>
  <head>
	<script type="text/javascript">
	   //定义计时器
	   var monitorCount = 0;
	   
	   //绑定body的onclick处理函数
	   document.body.onclick = function()
	   {
		   if(typeof bodyOnClickFunction == 'function')
		   {
			   bodyOnClickFunction();
		   }
	   }
	   
	   //body的单击处理函数
	   function bodyOnClickFunction()
	   {
		   resetTimeoutCount();
	   }
	   
	   //重置计数器为0
	   function resetTimeoutCount()
	   {
		   monitorCount = 0
	   }
	   
	   var timeOutFunction = "sessionTimeOutMonitor()";
	   
	   function sessionTimeOutMonitor()
	   {
		   var sessionTimeCount = document.getElementById("sessionTimeCount").value / 60;
		   
		   if(monitorCount < sessionTimeCount)
		   {
			   monitorCount++;
			   setTimeOut(sessionTimeOutMonitor,60 * 1000);
		   }
		   else
		   {
			   //调用ajax或者dwr调用使后台的session失效
		   }   
	   }
	</script>
  </head>
  <body onload="sessionTimeOutMonitor();">
     <input type="hidden" value="从服务器上获取session的最大超时数值" id="sessionTimeCount"/>
  </body>
</html>
分享到:
评论

相关推荐

    sessionRefresh:一个简单的小型javascript库,可让您在无活动时管理网页上的超时

    一个简单的小型javascript库,可用于在没有(鼠标或键盘)活动的情况下管理网页上的超时。 通过传入Promise对象或自定义的回调函数来“刷新”会话。 没有外部依赖性。 ### API:创建SessionRefresh的新实例var ...

    可完美运行chatGPT最新源码,GPT3.5/4.0+绘图+代理分销

    V5.0.5 新增自定义GPT回答多少秒后超时自动重连 V5.0.4 紧急修复上一个版本导致的上下文超限提示失效BUG 新增网站公告标题自定义设置功能 ...新增提问超过30秒未回复自动超时刷新网页 紧急修复5.0.1导致的后台首页BUG

    IBM WebSphere Portal门户开发笔记01

    4、session超时页面 45 5、登录portal时,绕过登录界面,直接进入到主页(或再登录) 45 6、自定义登录跳转页面 45 7、判断用户是否登录标签 46 8、portal登录注销再登录只出现一张图片 46 9、登录失败及修改提示...

    Nginx安装包

    再补充个上次漏掉的,这时我们可以关闭其中一个服务器,我关了tomcat1,再多次刷新页面,会发现接下来出现的都是tomcat2的页面,这时必然的,但是时而快时而慢。这其中原因是当nginx将请求转发到tomcat2时,服务器...

    web测试的一些关键点和重要点

    3、Cookies测试(session测试同) (1)、Cookies是否起作用;  (2)、Cookies是否按预定的时间进行保存; (3)、刷新对Cookies有什么影响。  4、设计语言测试 (1)、使用哪种版本的HTML; (2)、验证不同的脚本...

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat 3、 为系统屏蔽文件列表,包括 Apache 和 tomcat 注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat。 一、 前期准备工作:安装用的程序...

    多多校园论坛,很经典很强大

    4 管理员登录 管理留言 时,第一次输入错误时返回后,必再按一下“管理留言”来刷新页面,否则验证码不对,后台管理使用session记录在线状态,超时请重新登录 5 权限等级: 管理员 前后台所有操作,但不作为发贴者...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    3.4.1 Session、Application和Cache 3.4.2 Request 3.4.3 Response 3.4.4 Server 3.4.5 User 3.4.6 Trace 3.4.7 访问其他类中的HTTP上下文 3.5 总结 第4章 服务器控件 4.1 服务器控件的类型 ...

    ASP.NET4高级程序设计(第4版) 3/3

    3.4.1 Session、Application和Cache 84 3.4.2 Request 85 3.4.3 Response 86 3.4.4 Server 88 3.4.5 User 90 3.4.6 Trace 91 3.4.7 访问其他类中的HTTP上下文 96 3.5 总结 96 第4章 服务器控件 ...

    fso浏览54646465465464564

    Session.Timeout=45 'Session有效时间 Const mss="explorer_" 'Session前缀 Const Password="knowsky" '登录密码 Const Copyright=";""&gt;&copy;CopyLeft 2006. Coded By rssn, Hebust. No Rights Reserved&lt;/div&gt;" '...

    JAVA上百实例源码以及开源项目

     用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用...

    JAVA上百实例源码以及开源项目源代码

    Java编写的显示器显示模式检测程序 2个目标文件 内容索引:JAVA源码,系统相关,系统信息检测 用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作...

    CuteFTP9简易汉化版

    用一种上传软件你可以发布网页,下载最新的音乐,图片,和软件;或国内服务器之间传输文件,你的互联网服务提供商,office-any服务器,您可以通过网络访问。 一种上传软件很简单对于新手FTP用户,然而强大的足以让有经验的...

Global site tag (gtag.js) - Google Analytics