zoukankan      html  css  js  c++  java
  • 使用ServletContextListener和HttpSessionListener两种监听器实现记录当前网站在线人数

    web.xml中配置:

     <listener>
       <listener-class>com.mcm.listener.ServletContextListenerImpl</listener-class>
      </listener>
      <listener>
       <listener-class>com.mcm.listener.HttpSessionListenerImpl</listener-class>
      </listener>

    ServletContextListenerImpl类:

    package com.mcm.listener;

    import javax.servlet.ServletContext;
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;

    public class ServletContextListenerImpl implements ServletContextListener {

    public void contextDestroyed(ServletContextEvent event) {
      ServletContext application = event.getServletContext();
      application.removeAttribute("onLineNum");
    }

    public void contextInitialized(ServletContextEvent event) {
      int num = 0;
      ServletContext application = event.getServletContext();
      application.setAttribute("onLineNum", num);
    }

    }

    HttpSessionListenerImpl类:

    package com.mcm.listener;

    import javax.servlet.ServletContext;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;

    public class HttpSessionListenerImpl implements HttpSessionListener {

     public void sessionCreated(HttpSessionEvent event) {
      ServletContext application = event.getSession().getServletContext();
      Integer num = (Integer) application.getAttribute("onLineNum");
      if(num != null){
       int count = num;
       count = count + 1;
       application.setAttribute("onLineNum", count);
      }
     }

     public void sessionDestroyed(HttpSessionEvent event) {
      ServletContext application = event.getSession().getServletContext();
      Integer num = (Integer) application.getAttribute("onLineNum");
      int count = num;
      count = count - 1;
      application.setAttribute("onLineNum", count);
      
     }

    }

    index.jsp中:

    当前在线人数:${onLineNum }

    结果:

  • 相关阅读:
    STM32低功耗模式与烟雾报警器触发信号电路设计
    cocos2d-x的环境的搭建
    window8.1中用户的管理员权限的提升方法
    cmd中目录的变更
    js的传值,table中tr的遍历,js中动态创建数组
    究竟什么是游戏引擎?
    大型网站架构学习心德
    关于listView 中的聚焦问题
    android6.0 适配的问题——activity销毁的问题
    文件发送成功率低的问题(2)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3201138.html
Copyright © 2011-2022 走看看