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 }

    结果:

  • 相关阅读:
    mysql分页查询语法
    不同浏览器CSS样式不兼容问题
    js引入jquery问题
    ElasticSearcher的安装以及安装过程中出现的问题
    Mybites逆向工程的搭建
    Maven遇到的各种问题
    Maven安装和配置
    Maven报错:Unsupported major.minor version 51.0
    teamviewer远程是账号密码都没错但是报正在初始化参数...
    远程服务器时无密码登录
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3201138.html
Copyright © 2011-2022 走看看