• 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

  • 相关阅读:
    Swift实现单例
    UIViewContentMode说明
    打开或关闭Mac的隐藏文件的命令。
    struts2-2.3.20以上版本无法正常启动
    eclipse下导入jdk源码
    js 与css script
    eclipse导入jquery包后报错
    ${pageContext.request.contextPath} :JSP取得绝对路径方法
    小米暑期实习在线笔试2015-04-25
    android动态污点分析
  • 原文地址:https://www.cnblogs.com/HuppertWu/p/10659209.html
Copyright © 2020-2023  润新知