首页 > 其他分享 >监听器

监听器

时间:2022-09-28 11:05:26浏览次数:38  
标签:ctx session 监听器 Integer onlineCount se

实现一个监听器接口:有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

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

 

标签:ctx,session,监听器,Integer,onlineCount,se
From: https://blog.51cto.com/u_15810109/5718738

相关文章