监听器

实现一个监听器接口:有N种

1:编写一个监听器

复制代码
 1 // 统计网站在线人数:统计session
 2 public class OnlineCountListener implements HttpSessionListener {
 3 
 4     // 创建session的监听:看你的一举一动
 5     // 一旦创建一个session就会触发一次这个事件
 6     @Override
 7     public void sessionCreated(HttpSessionEvent se) {
 8         ServletContext ctx = se.getSession().getServletContext();
 9         System.out.println(se.getSession().getId());
10         Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");
11         if (onlineCount == null) {
12             onlineCount = new Integer(1);
13         } else {
14             int count = onlineCount.intValue();
15             onlineCount = new Integer(count + 1);
16         }
17         ctx.setAttribute("OnlineCount",onlineCount);
18 
19     }
20     // 销毁session的监听
21     // 一旦销毁一个session就会触发一次这个事件
22     @Override
23     public void sessionDestroyed(HttpSessionEvent se) {
24         ServletContext ctx = se.getSession().getServletContext();
25         Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");
26         if (onlineCount == null) {
27             onlineCount = new Integer(0);
28         } else {
29             int count = onlineCount.intValue();
30             onlineCount = new Integer(count - 1);
31         }
32         ctx.setAttribute("OnlineCount",onlineCount);
33 
34     }
35 
36 
37     /*
38     * session销毁:
39     * 1)手动销毁
40     * 2)自动销毁,去web.xml去配置session过期时间
41     *
42     *
43     * */
44 
45 
46 
47 }
复制代码

 

 

2:web.xml中注册监听器

1 <!--    注册监听器,用的越来越少-->
2     <listener>
3         <listener-class>com.mine.listener.OnlineCountListener</listener-class>
4     </listener>

3:看情况是否使用(几乎不用)

 

posted on   Love&Share  阅读(75)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示