zoukankan      html  css  js  c++  java
  • session的使用

    session的使用

    整体思路

    重写HttpSessionListener方法;

    在Listener中设置全局的计数器。

    当网页有新的访问就更新计数器。

    然后在服务端设置一个超时时间,

    超过一定时间且用户没有活动时,

    Session才会过期然后触发事件。

    所以这个统计不会是实时准确的。

     实验效果

     

    Listener.java
    package com.fakeweb.session;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.servlet.annotation.WebListener;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
    
    @WebListener
    public class SessionListener implements HttpSessionListener{
        private Integer TotalOnline=0;
        
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        @Override
        public void sessionCreated(HttpSessionEvent arg0) {
            // TODO Auto-generated method stub
            TotalOnline++;
            System.out.println("已创建"+sdf.format(new Date())+"目前在线人数:"+TotalOnline);
            arg0.getSession().getServletContext().setAttribute("online", TotalOnline);
            /*
             * 参考链接
             * https://www.pocketdigi.com/20120405/753.html
             */
        }
    
        @Override
        public void sessionDestroyed(HttpSessionEvent arg0) {
            // TODO Auto-generated method stub
            TotalOnline--;
            System.out.println("已销毁"+sdf.format(new Date())+"目前在线人数:"+TotalOnline);
            arg0.getSession().getServletContext().setAttribute("online", TotalOnline);
    
        }
    
    }

    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    
    <web-app ...>
            
       ...
        
      <listener>
          <listener-class>com.fakeweb.session.SessionListener</listener-class>
      </listener>
    
      <session-config>  
         <session-timeout>2</session-timeout>  
      </session-config>  
     
       ...  
    
    </web-app>

     <input type="text" value="当前在线人数<%=(Integer)application.getAttribute("online")%>" ......>

    百度云

     链接: https://pan.baidu.com/s/1687WynllFZ0DN95TnsdGDQ 提取码: z5us 复制这段内容后打开百度网盘手机App,操作更方便哦

    参考连接

    https://www.pocketdigi.com/20120405/753.html

  • 相关阅读:
    打开XX.etl文件
    ubuntu 安装 openssh-server,xinetd,vmware tools
    ESXi时间同步
    常用正则表达式字符说明
    RPC 服务器不可用
    linux 常用命令
    解决RDP连接不上
    python数据持久存储-pickle模块
    lambda表达式/对象引用计数
    关闭网络打开远程文件时防火墙安全弹窗
  • 原文地址:https://www.cnblogs.com/HuppertWu/p/10659209.html
Copyright © 2011-2022 走看看