• 捕获浏览器关闭、刷新事件,在窗体关闭时从全局对象里移除当前用户


    //以下是主页面的js代码,转的
    <script type="text/javascript">
     
     //页面即将关闭事件
     function window.onbeforeunload()   
    {        
    
            //用户点击浏览器右上角关闭按钮或是按alt+F4关闭
            if(event.clientX > document.body.clientWidth && event.clientY<0 || event.altKey)   
            {    
                    location.href="UserInfoServlet?flag=exit";
            }
    
            //用户点击任务栏,右键关闭。s或是按alt+F4关闭
            else if(event.clientY > document.body.clientHeight || event.altKey)
            {
                   location.href="UserInfoServlet?flag=exit";
            }
            //其他情况为刷新   
            else
            {   
                    
            }   
    
    } 
    </script>
    
    


    //以下是servlet里的代码,自己写的
    else if(flag.equals("exit"))
    {
                    if(session.getAttribute("currentUser")!=null)
                    {
    				    String username=((UserInfo)session.getAttribute("currentUser")).getYhName();
    					//从全局对象里移除该用户
    					List<UserInfo> list=(List<UserInfo>)application.getAttribute("allOnLineUsers");
    					for(int i=0;i<list.size();i++)
    					{
    						UserInfo u=list.get(i);
    						if(username.equals(u.getYhName()))
    						{
    							list.remove(i);
    							break;
    						}
    					}
    					
    					//将改变后的全局集合重新放入全局对象
    					application.setAttribute("allOnLineUsers",list);
    					
    					
    					//从session里移除当前用户
    					session.removeAttribute("currentUser");
    	
                    }
                    else
                    {
                            //跳转    		  
                            request.getRequestDispatcher("login/login.jsp").
                            forward(request,response);
                    }
    } 
    
  • 相关阅读:
    caffe学习
    阅读文献的三大问题:坐不住,记不住,想不开
    第五章 MySQL函数
    第四章 MySQL数据类型和运算符
    第三章 数据表的基本操作
    第二章 数据库的基本操作
    EXCEL的导入导出
    JAVA 通过位运算进行简单的加密
    JAVA 从控制台接收输入的字符
    JAVA Web JS
  • 原文地址:https://www.cnblogs.com/xcxcxcxc/p/5541237.html
Copyright © 2020-2023  润新知