一.监听器 Listener
1. Listener概述
监听器就是一个Java类,用来监听其他的JavaBean对象的变化
在javaweb中监听器就是监听三个域对象的状态的。request,session,servletContext(application)
2. 监听器的应用
主要在Swing编程
在Android/ios大量应用
JS里面的事件
3. 监听器的术语
事件源 :被监听的对象.(目标对象)
监听器对象:监听的对象.
事件:事件源行为的称呼.
注册(绑定):将"监听器"对象注册给"事件源".
事件对象:在"监听器对象"中获得"事件源"
二.监听ServletContext的创建和销毁
1.案例需求
-
监听ServletContext域对象的创建和销毁.
-
问题: ServletContext什么时候创建,什么时候销毁?
- 创建: 服务器启动的时候
- 销毁: 服务器关闭
表面看是监听ServletContext的创建和销毁的, 换句话说, 是监听服务器启动和关闭的
2.步骤分析
ServletContextListener是监听ServletContext对象的创建和销毁的
ServletContextListener的使用步骤:
- 创建一个类实现ServletContextListener接口
- 在web.xml配置
@WebListener
public class ServletContextLis implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
//监听ServletContext的创建 监听服务器启动
//监听ServletContext 所以可以获得监听对象
ServletContext servletContext = servletContextEvent.getServletContext();
System.out.println("ServletContext 创建了...");
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
//监听ServletContext的销毁 监听服务器关闭
System.out.println("ServletContext 销毁了...");
}
}
配置(web.xml)
<listener>
<!--全限定名-->
<listener-class>com.listenner.ServletContextLis</listener-class>
</listener>