JavaWeb开发基础知识-Listener

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

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

2. 会话小助手(HttpSessionListener)

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

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

3. 请求小邮差(ServletRequestListener)

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

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

🧁 配置方式甜甜圈

XML配置(传统做法)

<!-- 像在记事本上写规则 -->
<listener>
  <listener-class>com.mambo.MyListener</listener-class>
</listener>

注解配置(超方便!)

@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"

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值