up: 监听器简介


监听器三要素:

(1)想让一个类变成监听器,而且想让这个监听什么对象,就让这个类实现不同的对应的接口;


第一个监听器范例:

新建一个工程,创建FirstListener类, 要想让这个类变成一个监听器,而且监听的是ServletContext对象,这个类就需要实现ServletContextListener接口

FirstListener:监听器类

 
    package com.imooc.listener;
 
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
 
    /**
     * 如果想让这个类,想实现对ServletContext进行监听的时候,这个类就需要实现ServletContextListener接口
     * @author Administrator
     *
     */
    public class FirstListener implements ServletContextListener{
 
    	/**
    	 * contextDestroyed:这个方法,对象销毁的时候,会触发的后续操作;
    	 */
    	@Override
    	public void contextDestroyed(ServletContextEvent arg0) {
    		// TODO Auto-generated method stub
    		System.out.println("ServletContext已经被销毁");
    	}
 
    	/**
    	 * contextInitialized:这个方法,对象初始化的时候,会触发的后续操作;
    	 */
    	@Override
    	public void contextInitialized(ServletContextEvent arg0) {
    		// TODO Auto-generated method stub
    		System.out.println("ServletContext已经初始化。");
 
    	}
 
    }

在web.xml配置监听器:监听器的配置很简单,一个标签就可以了

效果:

启动应用:在启动应用后,ServletContext这个全局对象就被创建了,对象被创建后,FirstListener这个用于监听ServletContext对象的监听器中的contextInitialized()初始化方法就被触发了;(ServletContext这个全局对象在应用启动的时候就被会初始化)

关闭应用:FirstListener这个用于监听ServletContext对象的监听器中的contextDestroyed()销毁方法就被触发了;

可以发现,上面我们让一个类实现接口,然后web.xml中配置后,监听器就生效了;背后的工作,Tomcat帮我们做了;所以还是最初的那句话,监听器是JEE Servlet模块下的一个组件;很多基础性的工作不需要程序员去做,我们要做的就是各种调用API就可以了,这极大简化了开发的难度;


监听器,采用注解的形式: