今天开始讲新浪博客搬到博客园。

       在工作中遇到的小问题,感觉有点意思,就记录下来吧!

       该问题分为两种情况,一、Web页面长时间无操作后,在对其进行操作,比如点击“首页”、“设置”等带有超链接字段,此时可直接设置session的有效时间来解决。session有效时间一般都是设置登录控制器(MVC) 中的Controller中,如:
         session.setMaxInactive(300);//设置session有效时间为300秒。
当超过5分钟都没有对其进行操作再点击其中的某个超链接时将跳转到登录界面,登录完成后会自动跳转到原来的页面。
 
        第二种情况,Web页面长时间无操作,再对其进行操作,但点击的地方为非超链接的地方,如页面中的空白处,此时session不起作用,由于需要对其进行监控是否在有效时间内,如在有效时间内点击则重新记录开始时间, 这种情况下如果通过和服务器交互来进行判断则必然会影响系统的性能,得不偿失,不足取。
       可供选择的一种方案时,在前台Web页面中加入鼠标监听事件,不需要服务端配合,直接由前台页面完成。该前台页面需要是Header.jsp,是被其他页面所引用的,或是在js中,该js是被系统其它jsp页面所引用的。这两种方式均比在每一个系统的jsp页面中加入监听事件具有可操作性。完整代码如下:
Header.jsp
    
javaScript:
 
       var timeStart = 0;//开始时间,
       var timeOut = 300;//有效时间,设置为5分钟
       
       $(document).read(function()){
         .....
         if(timeStart  == 0){
                timeStart = (new Date()).getTime();//得到初始成功登录系统的时间
          }
         ......
        }
 
        document.onmousedown = function(event){//监听鼠标事件
             var timeNow = (new Date()).getTime();
             var timeOp = timeNow - timeStart - timeOut*1000;
             if(timeOp > 0){
                   window.location.reload(true);//重新加载该页面(跳转到登录页面,验权通过后自动调至该页面)
             }else{
                   timeStart = timeNow;//未超时,则重新计时
             }
         }
 
备注:$(document).read() 是在DOM结构载入完后执行;
        window.onload 是在所有文件都加载完后执行;

Web页面长时间无操作后再获取焦点时转到登录界面的更多相关文章

  1. web页面长时间未操作自动退出登录

    var lastTime = new Date().getTime(); var currentTime = new Date().getTime(); * * ; //设置超时时间: 10分 $(f ...

  2. WPF:鼠标长时间无操作,窗口隐藏

    //设置鼠标长时间无操作计时器 private System.Timers.Timer MouseTimerTick = new System.Timers.Timer(10000); private ...

  3. 自定义android程序一段时间无操作后的功能

    项目中遇见一个这样的需求,就是当软件在一定时间没有操作时候需要弹出广告页面,当点击广告页面时又进行软件操作,也就是广告要在软件打开并且处于未操作状态才会出来. 方法一:用handler+onTouch ...

  4. ssh一段时间无操作后自动断开连接(假死)问题

    平时使用ssh远程服务器的时候(注:远程虚拟机一般不会有这个问题),一段时间没有操作,ssh连接就会处于假死状态,以至于需要重新进行ssh连接,不管你用的什么远程工具都会出现这个问题,那么通过心跳检测 ...

  5. IIS Web API 长时间不连接后第一次访问非常缓慢

    搭建在 IIS 上的 Web API 若长时间不访问,会出现第一次访问耗时较长的现象,这与其调用应用程序池的 Idle Time-out(minutes) 即闲置超时设置有关.默认值为20,修改为0即 ...

  6. vue项目前端限制页面长时间未操作超时退出到登录页

    之前项目超时判断是后台根据token判断的,这样判断需要请求接口才能得到返回结果,这样就出现页面没有接口请求时还可以点击,有接口请求时才会退出 现在需要做到的效果是:页面超过30分钟未操作时,无论点击 ...

  7. ASP.NET 工作流:支持长时间运行操作的 Web 应用程序

    ASP.NET 工作流 支持长时间运行操作的 Web 应用程序 Michael Kennedy   代码下载位置:MSDN 代码库 在线浏览代码 本文将介绍以下内容: 独立于进程的工作流 同步和异步活 ...

  8. ajax 多个setInterval进行ajax请求的页面长时间打开会出现页面卡死问题

     多个setInterval进行ajax请求的页面长时间打开会出现页面卡死问题 浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉.当我们执行异步ajax的时候没有问 ...

  9. SSH连接服务器时,长时间不操作就会断开的解决方案

    最近在配置服务器相关内容时候,不同的事情导致长时间不操作,页面就断开了连接,不能操作,只能关闭窗口,最后通过以下命令解决. SSH连接linux时,长时间不操作就断开的解决方案: 1.修改/etc/s ...

随机推荐

  1. React-Native新列表组件FlatList和SectionList学习 | | 联动列表实现

    React-Native在0.43推出了两款新的列表组件:FlatList(高性能的简单列表组件)和SectionList(高性能的分组列表组件). 从官方上它们都支持常用的以下功能: 完全跨平台. ...

  2. 新建一个self hosted Owin+ SignalR Project(1)

    OWIN是Open Web Server Interface for .Net 的首字母缩写,他的定义如下: OWIN在.NET Web Server 与Web Application之间定义了一套标 ...

  3. Oracle 导出的表不全,以及数据库版本不同导入报错

    公司有两个环境下的数据库,版本不同,一个是11g r2,另一个是10g r2 首先在11g r2下用exp导出数据库备份文件,发现部分表缺失. 原来这部分表是空的,11G中新特性,当表无数据时,不分配 ...

  4. c++ 11 移动语义

    C++ 已经拥有了拷贝构造函数, 和赋值函数,它们主要定位为浅和深度拷贝, 新增加一个移动构造函数,主要避免拷贝构造. 在定义了移动构造函数的情况下,在实参(argument)是一个右值(rvalue ...

  5. 【软件安装】nvidia驱动安装事宜

    https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html https://docs.nvidia.com/cuda/arch ...

  6. es6学习日记4

    数组的扩展 扩展运算符是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) // 1 2 3 console.l ...

  7. git 本地分支和远程分支改名字

    1.将本地分支进行改名: git branch -m old_branch new_branch 2.将本地分支的远程分支删除: git push origin :old_branch 3.将改名后的 ...

  8. springmvc-mybatis整合出错: Invalid bound statement (not found)

    Invalid bound statement (not found):(自己dao里面的某个方法) 错误原因:在使用mybatis generator插件自动生成代码后将UserMapper.jav ...

  9. (33)关于django中路由自带的admin + 建表关系的讲解

    admin是django自带的后台管理,在初始的时候就默认配置好了 当输入ip地址的时候后面跟admin,就会登陆管理员的后台,这个是django自带的,可以快速管理数据表(增删改查) PS:ip地址 ...

  10. crontab 相关

    修改编辑器    select-editor 查看服务状态  service cron status  (linux下为crond ,ubuntu为cron) 1-59/2 1,10,12 * * * ...