概念:web的三大组件之一。
事件监听机制:
事件 :一件事情
事件源:事件发生的地方
监听器:一个对象
注册监听:将事件,事件源,监听器绑定在一起。当事件源上发生某个事件后,执行监听器代码
ServletContextListener:监听ServletContext对象的创建和销毁
void contextDestroyed(ServletContextEvent sce):servletContext对象被销毁之前会调用该方法。
void contextInitialized(ServletContextEvent sce):ServletContext对象创建后会调用该方法。
监听器的使用步骤:
1 定义一个类,实现ServletContextListener接口
2 复习方法
3 配置
1web.xml
2注解:@WebListener
例如:
创建一个类实现ServletContextListener
重写里面的抽象方法:
监听ServletContext对象创建的,ServletContext对象服务器启动后自动创建。
该监听器的contextInitialized在服务器启动后自动调用。
XML方式配置监听器:
< listener>
< listener-class>指定监听器类的包全名。< /listener-class>
< /listener>
作用:在contextInitialized(ServletContextEvent servletContextEvent){
在这个初始化方法中,可以加载资源文件
//1 获取ServletContext对象
ServletContext servletContext=servletContextEvent.getServletContext();
//2 加载资源文件
String contextConfigLocation=servletContext.getInitParameter( context-param中键:contextConfig);
//3获取真实路径
String realPath=servletContext.getRealPath(contextConfigLocation);
加载进内存
FileInputStream fis=new FileInputStream(realPath);
}
在web.xml下指定初始化参数
< context-param>
< param-name>资源位置,例如:contextConfig< /param-name>
< param-value>资源的真实路径,例如:/WEB-INF/classes/applicationContext.xml< /param-value>
< /context-param>
在监听器初始化方法中就可以通过这个键:contextConfig就可以加载这个资源文件
在src下创建一个配置文件
applicationContext.xml文件