JavaWeb开发基础知识-Listener

(✪▽✪)曼波~~~~!欢迎来到曼波的JavaWeb小课堂~(转圈撒花)今天我们要学习像小精灵一样悄悄工作的Listener哦!(๑>ᴗ<๑)

JavaWeb开发基础知识-Listener_第1张图片

  • 曼波比喻:像开学时布置教室的小班长✨

2. 会话小助手(HttpSessionListener)

  • 监听每个用户的到来和离开
  • 常用魔法:

  • 曼波比喻:像游乐园的入园计数器

3. 请求小邮差(ServletRequestListener)

  • 监听每个请求的旅程
  • 常用魔法:

    public void requestInitialized() { //请求到达时 }
    public void requestDestroyed() { //请求结束时 }
    
  • 曼波比喻:像快递站的包裹扫描机

配置方式甜甜圈

XML配置(传统做法)



  com.mambo.MyListener

注解配置(超方便!)

@WebListener  //像贴便利贴一样简单~
public class MyListener implements ServletContextListener {
  //...
}

实战案例:在线人数统计

哦呜(°ロ°)!曼波觉得这个有点难哦,但跟着步骤一定可以!(握拳)

@WebListener
public class KawaiiCounter implements HttpSessionListener {
    private static int onlineUsers = 0;

    @Override
    public void sessionCreated(HttpSessionEvent se) {
        onlineUsers++;
        System.out.println("(≧∇≦)/ 欢迎!当前在线:" + onlineUsers);
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        onlineUsers--;
        System.out.println("(>﹏<) 有人离开了...剩余:" + onlineUsers);
    }
}

效果:当用户访问网站时会自动统计人数哦~(๑˃̵ᴗ˂̵)و

使用场景脑暴

  • 应用启动时 → 加载全局配置(像准备野餐篮)
  • 用户登录时 → 记录登录时间(像写日记)
  • 请求到来时 → 统计访问量(像数星星✨)
  • 应用关闭时 → 关闭数据库连接(像关水龙头)

⚠️ 注意事项泡泡

  1. 不要做太复杂的事情(会卡住哦!)
  2. 注意线程安全(像排队买奶茶)
  3. 监听器之间不要互相依赖(会打架的!)

曼波小作业

试着写一个"请求计时器"监听器吧!思路:

  1. 请求开始时记录时间
  2. 请求结束时计算耗时
  3. 打印结果像这样:
    "(๑•̀ㅂ•́)و✧ 本次请求耗时:58ms"

JavaWeb开发基础知识-Listener_第2张图片

(✪▽✪)曼波~~~~!是不是像收集星星一样有趣呢?遇到问题随时召唤曼波哦~(比心)接下来想学Filter还是Servlet呢?(๑¯◡¯๑)

JavaWeb开发基础知识-Filter终极入门指南(曼波萌新版)
JavaWeb开发基础知识-Servlet终极入门指南(曼波萌新版)

你可能感兴趣的:(hive,hadoop,数据仓库)