ServletContextListenerImpl.java代码

public class ServletContextListenerImpl implements ServletContextListener {
public void contextDestroyed(ServletContextEvent event) {
ServletContext application = event.getServletContext();
application.removeAttribute("onLineNum");
}
public void contextInitialized(ServletContextEvent event) {
//利用servletContextEvent对象创建servletContext
int num = 0;
ServletContext application = event.getServletContext();
application.setAttribute("onLineNum", num);//初始默认在线人数为0
}
}

HttpSessionListnerImpl.java代码

public class HttpSessionListnerImpl implements HttpSessionListener {

public void sessionCreated(HttpSessionEvent event) {
//通过event获得servletContext对象
ServletContext application = event.getSession().getServletContext();
//拿到servletContext空间中储存的onLineNum
Integer num = (Integer)application.getAttribute("onLineNum");
if(num != null){
//如果存在,则将拿到的数量加一并到重新放入到servletContext空间中
num = num + 1;
application.setAttribute("onLineNum", num);
} else {
//如果不存在,则设置onLineNum为1
application.setAttribute("onLineNum", 1);
}
}

public void sessionDestroyed(HttpSessionEvent event) {
System.out.println("一个session关闭了");
//通过event获得servletContext对象
ServletContext application = event.getSession().getServletContext();
//拿到servletContext空间中储存的onLineNum
Integer num = (Integer)application.getAttribute("onLineNum");
num = num - 1;
//将拿到的数量减一并到重新放入到servletContext空间中
application.setAttribute("onLineNum", num);
}
}

对应的在web.xml文件中进行监听器配置

<listener>
  <listener-class>
  com.hk.listener.ServletContextListenerImpl
  </listener-class>
  </listener>
  
  <listener>
  <listener-class>
  com.hk.listener.HttpSessionListnerImpl
  </listener-class>
  </listener>

jsp代码

<body>
  当前在线人数:${onLineNum }

</body>

测试结果

利用监听器实现网站在线人数统计相关推荐

  1. Java监听器实现网站在线人数统计

    1.监听器定义 监听器也叫Listener,是Servlet的监听器,它可以监听客户端的请求.服务端的操作等.通过监听器,可以自动激发一些操作,比如监听在线的用户的数量. 2.常见的监听器 1)Ser ...

  2. 利用HttpSessionListener实现网站在线人数统计功能

    为什么80%的码农都做不了架构师?>>>    在网站中经常需要进行在线人数的统计.过去的一般做法是结合登录和退出功能,即当用户输入用户名密码进行登录的时候计数器加1,然后当用户点击 ...

  3. Servlet监听器实现网站在线人数统计

    只提供思路: index.jsp <%@page import="cn.wfc.counter.CountListener"%> <%@ page languag ...

  4. php页面在线人数,也谈php网站在线人数统计

    也谈php网站在线人数统计 function checkOnline($userid,$tempid=null) { $conn = connect(); //对于所有用户 //先设置自己为在线 $s ...

  5. 使用监听器Listener实现在线人数统计功能

    使用监听器Listener实现在线人数统计功能 目录树及使用的文件 1.首先创建一个CountListener类实现HttpSessionListener接口,实现接口的两个方法:sessionCre ...

  6. Session实现网站在线人数统计

    Session统计网站在线人数 模仿一个B站左下角的人数在线统计: 1.实现一个Session监听器的接口,里面重写了俩个方法,一个是获取Session的方法,一个是销毁Session的方法.   2 ...

  7. c语言网络在线人数统计,教你用ASP程序实现网站在线人数统计

    欢迎来到小编的文章进行学习阅读,想必大家又有很多问题吧,在这里会有你想要收获的答案,请大家慢慢学习吧!计算机编程语言 在浏览网页的时侯,常常可以看见一些"当前网站上的人数是XXX人" ...

  8. php网站同时在线人数,也谈php网站在线人数统计

    function checkOnline($userid,$tempid=null) { $conn = connect(); //对于所有用户 //先设置自己为在线 $stmt = "UP ...

  9. 监听器实栗 在线人数统计

    实现思路 常见的流程是,标准的mvc 即 登录表单,用户提交数据到登录检查,若登录检查通过以后,触发session事件,保存进入在线人员列表中,页面跳转到在线用户列表,若用户注销,从在线列表中删除. ...

最新文章

  1. 一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level
  2. matlab图片矢量化,matlab图形矢量化解决方案
  3. VTK:InfoVis之TreeMapView
  4. ×××技术在ATM机无线组网中的应用
  5. 【官方搭建入门】JEECG 平台开发环境搭建必读
  6. 长沙学院计算机系课程表,长沙交通学院研究生200—200学年度第学期课程表.doc...
  7. cmd创建一个用户并升级成管理员
  8. 企业选人的三个阶段和几个标准
  9. 节日营销方案:你值得关注的6个策略!
  10. 在Windows环境下编译VPX
  11. H5仿抖音上下切换翻页动态加载效果
  12. 最详细的北京摩托车上牌流程-自己跑流程
  13. 计算机的信息安全教学反思,信息安全 教学设计 教学反思.doc
  14. 一亩三分地,答题题库,1point3acres (Time series,每周末答题一次/更新一次)
  15. Typora、Markdown中的公式,颜色汇总
  16. java,png,jpg,多张图片合成一个pdf,压缩图片,并且保证图片不失帧。
  17. 物联卡要求上传身份证实名认证安全吗,不认证无法使用
  18. 华硕x450vb黑苹果系统拯救与安装
  19. 移动端音视频从零到上手(推荐)
  20. objdump按照指定架构反汇编 裸二进制文件

热门文章

  1. Map 和 ForEach 的区别
  2. Array方法、String方法
  3. 时间管理 |《小强升职记》学习笔记 | Part1
  4. Linux添加环境变量,以配置MySQL环境怕变量为例
  5. Vue CLI 3搭建
  6. AssertionError 的来源
  7. 如何计算IP报头的checksum
  8. 如何连接到GBase的XDM服务器
  9. 全方位掌握 NSIS 的操作
  10. 如何应对“改变现状”的失败