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


    //以下是主页面的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);
                    }
    } 
    
  • 相关阅读:
    名师破解英语四级汉译英
    名师破解英语四级汉译英
    名师破解英语四级汉译英
    输出矩阵右上角元素
    输入行列式中偶数行和偶数列的数据
    转秩矩阵
    数据排序
    从键盘上输入5个数,输出最大、最小元素的值以及它们的下标
    中文处理(全角/半角)
    获取汉字拼音首字母
  • 原文地址:https://www.cnblogs.com/xcxcxcxc/p/5541237.html
Copyright © 2020-2023  润新知