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 }

    结果:

  • 相关阅读:
    P7003 [NEERC2013]Hack Protection
    P6753 [BalticOI 2013 Day1] Ball Machine
    笛卡尔树-P2659 美丽的序列
    [省选联考 2020 A/B 卷] 冰火战士
    CF1166E The LCMs Must be Large
    线段树标记永久化模板
    zoj 2112 单点修改的主席树(树状数组套主席树)
    poj 2104 无修改主席树
    python中map的排序以及取出map中取最大最小值
    python之禅
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3201138.html
Copyright © 2011-2022 走看看