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

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

       该问题分为两种情况,一、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. aps.net国际化本地资源 .resources”正确嵌入或链接到程序集

    asp.net国际化提供了资源文件的解决的方式, asp.net自带的两个项目文件夹 分别是:App_GlobalResources和App_LocalResources, App_GlobalRes ...

  2. Ubuntu安装lrzsz

    本文主要介绍在Ubuntu下安装lrzsz工具,方便windows和linux间的文件上传下载 方法1:二进制包自动安装1.1 在终端中,输入命令,自动安装,简单方便: sudo apt-get in ...

  3. cocos2dx解决中文乱码方法

    使用plist文件,优点方便做多国语言支持~也不用去做编码转换 1.Resource目录下新建text.plist文件,内容格式如下 <?xml version="1.0" ...

  4. python学习之路05

    控制流语句 博主认为所有的语言中,控制语句都是差不多的,无非就是循环,判断,if ,while,for.更重要的是,多加的练习,实战中发现自身问题,加深巩固 所以,下面会以实际的题目为主. 1.用户在 ...

  5. SQL-存储过程-010

    什么是存储过程? 可以理解为数据库中的方法,与C#中的方法一样,具有参数和返回值: 存储过程的优点? 提高运行速度:存储过程在创造是进行编译,以后运行存储过程都不需要再进行编译,极大化的提高了数据库的 ...

  6. Arch Linux 独特的包管理器相关名词解释及用法对照

    https://wiki.archlinux.org/index.php/PacmanPacman包管理器是Arch Linux的主要特色之一.它结合了简单的二进制包格式和易于使用的构建系统.pacm ...

  7. springMvc---跨服务器文件上传(实测总结)

    序言: 该案例是采用springMvc实现跨服务器图片上传功能,其中用到的主要类和工具有:CommonsMultipartResolver.jquery.form.js.如果要实现多个文件上传,只需要 ...

  8. Linux shell脚本学习

    1.cgmod +x ./文件 获取执行权限,使脚本具有执行权限 2.  ./name.sh  执行脚本 ./为当前目录 直接使用name.sh系统会去PATH里面找name.sh,而PATH里只有/ ...

  9. 如何在Python中使用ZeroMQ和Docker构建微服务架构

    @Container容器技术大会将于6月4日在上海光大会展中心国际大酒店举办,来自携程.PPTV.蚂蚁金服.京东.浙江移动.海尔电器.唯品会.eBay.道富银行.麻袋理财等公司的技术负责人将带来实践经 ...

  10. Hanlp汉字转拼音使用python调用详解

    1.hanlp简介 HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用.HanLP具备功能完善.性能高效.架构清晰.语料时新.可自定义的 ...