javaweb:监听器
监听器种类数不胜数,监听器最常被应用在GUI中,不过网站中也可以设置监听器,这里我们利用sessionListener实现一个网站在线人数统计的监听来了解一下监听器的使用。
首先建立一个类来实现监听器OnlineListener.class
1 package com.jms.listener;
2
3 import javax.servlet.ServletContext;
4 import javax.servlet.http.HttpSessionEvent;
5 import javax.servlet.http.HttpSessionListener;
6
7 public class OnlineListener implements HttpSessionListener{
8
9 //统计网站中在线人数
10
11 //创建session时,触发这个监听
12 @Override
13 public void sessionCreated(HttpSessionEvent se) {
14 ServletContext sctContext = se.getSession().getServletContext();
15 Integer onlinenumber = (Integer) sctContext.getAttribute("OnlineNumber");
16 if(onlinenumber == null) {
17 onlinenumber = 1;
18 } else {
19 onlinenumber += 1;
20 }
21 sctContext.setAttribute("OnlineNumber", onlinenumber);
22 }
23
24 //销毁session时,触发这个监听
25 @Override
26 public void sessionDestroyed(HttpSessionEvent se) {
27 ServletContext sctContext = se.getSession().getServletContext();
28 Integer onlinenumber = (Integer) sctContext.getAttribute("OnlineNumber");
29 if(onlinenumber > 0) {
30 onlinenumber -= 1;
31 }
32 sctContext.setAttribute("OnlineNumber", onlinenumber);
33 }
34
35
36 }


