监听器是web项目中非常重要的内容,他是来监控,application,session,requests三大作用域的 ,产生,销毁,改变,移除,添加的时候进行监听,
每个作用域2两个接口总共6个接口
因此每个作用域五个方法总共15个方法,但逻辑和代码完全一样。
我们以session对象为列
为普通的登录界面添加登录总人数显示监听统计登录人数
@WebListener
@WebListener
public class MyListener implements HttpSessionListener,HttpSessionAttributeListener {
//监听创建
@Override
public void sessionCreated(HttpSessionEvent se) {
//当登录时创建session并且给计数器加一
这里要注意在登录页面销毁session保证缓存session对计数器的影响
ServletContext sc=se.getSession().getServletContext();
int count=(int)sc.getAttribute("count");
++count;
sc.setAttribute("count", count);
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
//当退出时销毁session,给计数器减一
ServletContext sc=se.getSession().getServletContext();
int count=(int)sc.getAttribute("count");
--count;
sc.setAttribute("count", count);
}
@Override
public void attributeAdded(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void attributeRemoved(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void attributeReplaced(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub
}
}