1.什么是监听器?
web监听器是一种能监听某个对象状态变化的组件,重点在于监听域对象(比如ServletContext,HttpSession,ServletRequest)的变化。可以在某些动作前后增加处理
,实现监控。
2.监听器的相关概念
- 事件源 :指被监听的对象 request session context
- 监听器: 监听事件源的对象 ,有8个
- 注册监听器: 监听器与事件源绑定
- 相应行为: 监听到事件源变化的时,去做什么事情
3.监听器的作用
-
统计在线人数,利用HttpSessionLisener
-
加载初始化信息:利用ServletContextListener
-
统计网站访问量
-
实现访问监控
4.监听器原理
使用代理设计模式,如下图
图片来自高新强老师的网课
什么是代理设计模式?
简单来讲就是某一个对象发生某一个事件时,通知另一个对象,让另一个对象做某事。
5. 监听器的编写步骤
- 编写一个监听器类去实现监听器接口
- 覆盖监听器的方法
- 需要在web.xml中进行配置
//1.以ServletContext为例,编写一个监听器类去实现监听器接口
//覆盖监听器的方法
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ServletComtextLisenerTest implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
//当服务器启动时就会调用
System.out.println("服务器自动");
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
//当服务器关闭时就会调用
System.out.println("服务器关闭");
}
}
在xml文件中完成配置