创建监听器,主要用到session和request,所以,自定义监听器类要实现HttpSessionListener和ServletRequestListener接口:

package com.lzxh.listener;import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;@WebListener
public class MyServletContextListener implements HttpSessionListener, ServletRequestListener {private int count = 1;//创建session的时候在线人数增加。public void sessionCreated(HttpSessionEvent arg0)  { count++;System.out.println("session被创建 --- :" + count);arg0.getSession().setAttribute("count", count);}//session销毁的时候在线人数减少public void sessionDestroyed(HttpSessionEvent se)  { count--;System.out.println("session被销毁");}public void requestDestroyed(ServletRequestEvent arg0)  { System.out.println("request请求被销毁");}//请求发生时,统计人数。public void requestInitialized(ServletRequestEvent arg0)  { HttpServletRequest request = (HttpServletRequest) arg0.getServletRequest();request.getSession().setAttribute("count", count);System.out.println("request被创建");}}

在删除用户的servlet中做个测试:

@WebServlet("/userDeleteHandler")
public class UserDeleteHandler extends HttpServlet {private static final long serialVersionUID = 1L;UserService us = new UserServiceImpl();protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");int count = (int) request.getSession().getAttribute("count");//request.getServletContext().getAttribute(name)int code = Integer.parseInt(request.getParameter("code"));int num = us.delete(code);String msg = num > 0 ? "删除成功" : "删除失败";PrintWriter out = response.getWriter();out.print(msg + " : 当前网站在线人数:" + count);out.flush();out.close();}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

页面效果:

servlet使用监听器统计网站在线人数相关推荐

  1. Javaweb Listener监听器的简单应用:统计网站在线人数

    Listener监听器实现统计网站在线人数 开发环境: IntelliJ IDEA 一.什么是监听器 是指专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生变化时, ...

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

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

  3. JavaWeb程序设计任务教程(黑马程序员 传智播客)测一测 编写一个Servlet,实现统计网站被访问次数的功能

    详细解释已在注释中给出 package 统计网站被访问次数;import java.io.*;import javax.servlet.*; import javax.servlet.http.*;p ...

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

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

  5. 使用监听器实现一个统计网站在线人数的示例

    (1)创建一个监听器实现类 要大致统计一个网站的在线人数,首先,可以通过ServletContextListener监听,当Web应用上下文启动时,在ServletContext中添加一个List,用 ...

  6. 利用监听器实现网站在线人数统计

    ServletContextListenerImpl.java代码 public class ServletContextListenerImpl implements ServletContextL ...

  7. 用java统计网站在线人数

    下面,我们利用HttpSessionBindingListener接口Java语言,编写一个在线人数统计的程序.当一个用户登录后,显示欢迎信息,同时显示出当前在线的总人数和用户名单.当一个用户退出登录 ...

  8. Servlet六(监听器)

    一.监听器   Servlet 事件监听器是一个实现了特定接口的 Java 程序,这个程序专门用于监听 Web 应用中 ServletContext.HttpSession 和 ServletRequ ...

  9. 监听器应用【统计网站人数、自定义session扫描器、踢人小案例】

    2019独角兽企业重金招聘Python工程师标准>>> 从第一篇已经讲解过了监听器的基本概念,以及Servlet各种的监听器.这篇博文主要讲解的是监听器的应用. 统计网站在线人数 分 ...

最新文章

  1. 18 Java面试之 Oracle 和 Mysql 数据库
  2. mysql prepare原理
  3. 让Python pip下载速度加速
  4. 什么中文版软件可以操作mysql_一款软件,几乎可以操作~所有的~“数据库”,太牛逼了!...
  5. 你真的理解CAP理论吗?
  6. 解密 云HBase时序引擎OpenTSDB 优化技术
  7. html文件内容搜索,html读出文本文件内容
  8. python退出mainloop_不要阻塞tkinter的mainloop
  9. mblog Mtons博客系统
  10. 短信语音验证码发展的必然趋势
  11. outlook不能保存密码_教大家轻松保存Outlook当中的附件到Onedrive文件夹上
  12. MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法
  13. Could not calculate build plan:
  14. gini系数 决策树_SKlearn中分类决策树的重要参数详解
  15. ThickBox学习之一 ThickBox介绍以及单图片显示示例
  16. 戴尔惠普华硕笔记本Fn键反了,按F1、F2等键出来Fn+F1、F2的效果
  17. 用userAgent判断手机类型
  18. 桌面图标有阴影的解决方法
  19. 反冲物料_父母有更多的时间休息,然后反冲开始了
  20. 黑客代码雨源代码_工业城黑客空间教授的东西比代码更有价值

热门文章

  1. android deb文件怎么打开,演示apk是什么文件?怎么打开apk文件呢?
  2. mysql replication slave_MySQL Replication,主从同步( Master-Slave)
  3. 机器学习(一)- feature scaling
  4. ping不通外网 连不上外网
  5. 技术解读|RRBS测序中因酶切人为引入碱基问题
  6. 2023 计算机职业规划
  7. 九月的诗11首-光剑
  8. 用ShaderToy实现牛顿迭代法分形图像
  9. 认认真真几个高质量人工智能方向的原创公众号
  10. GSM-GPRS-WCDMA-LTE-5g 的总结