javaweb学习23:监听器
- 
监听器:
- 
编写一个监听器:实现一个监听器的接口;(有N种)
 - 
 
 - 
 
- 
代码案例:
/**
* 统计网站在线人数:
* 其实就是统计session:因为
*/
public class OnlineCountListener implements HttpSessionListener {
//创建session监听:看你的一举一动
//一旦创建一个session,就会触发一次这个事件!(观察者模式)
public void sessionCreated(HttpSessionEvent se) {
ServletContext context = se.getSession().getServletContext();
System.out.println("Session ID:"+se.getSession().getId());
Integer onlineCount= (Integer)context.getAttribute("OnlineCount");
if(onlineCount ==null){
onlineCount=new Integer(1);
}else{
int count=onlineCount.intValue();
onlineCount=new Integer(count+1);
}
context.setAttribute("OnlineCount",onlineCount);
}
//销毁session监听
//一旦销毁一个session,就会触发一次这个事件!
public void sessionDestroyed(HttpSessionEvent se) {
ServletContext context = se.getSession().getServletContext();
se.getSession().invalidate();//销毁session
Integer onlineCount= (Integer)context.getAttribute("OnlineCount");
if(onlineCount ==null){
onlineCount=new Integer(0);
}else{
int count=onlineCount.intValue();
onlineCount=new Integer(count-1);
}
context.setAttribute("OnlineCount",onlineCount);
}
/**
* Session销毁:
* 1,手动销毁: se.getSession().invalidate();
* 2,自动销毁:
*/
}
 
- 
代码案例:
 
                    
                
                
            
        
浙公网安备 33010602011771号