一.监听器
1.是javaweb的三大组件之一,分别是Servlet程序,Listener监听器,Filter过滤器
2.Listener是JvaEE的规范,就是接口,监听器的作用就是监听某种变化(一般是对象创建/销毁,属性变化),触发对应方法完成相应的任务
3.ServletContextListener:
/*当一个类实现了ServletContextListener,该类就是一个监听器
* 该类可以监听的事件由该类实现的接口决定,比如下面该类就能监听ServletContext对象的创建和销毁
* 当web应用启动时,就会产生ServletContextEvent事件,会调用监听器的对应事件处理方法contextInitialized
* 同时会传递事件对象,程序员通过ServletContextEvent事件对象来获取需要的信息,然后处理业务
* tomcat怎么知道这个监听器存在? 因为需要在web.xml文件中配置*/
public class HspServletContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
ServletContext servletContext = servletContextEvent.getServletContext();
System.out.println("该监听器监听到"+servletContext+"被创建");
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
ServletContext servletContext = servletContextEvent.getServletContext();
System.out.println("该监听器监听到"+servletContext+"被销毁");
}
}
4.ServletContextAttributeListener
ServletContextAttributeListener用于监听ServletContext的属性变化
public class HspServletContextAttributeListener implements ServletContextAttributeListener {
@Override
public void attributeAdded(ServletContextAttributeEvent servletContextAttributeEvent) {
System.out.println("HspServletContextAttributeListener监听到添加属性"+servletContextAttributeEvent.getName()+"" +
"="+servletContextAttributeEvent.getValue());
}
@Override
pub