Listener监视器
Listener监视器
概念:web的三大组件之一
- 事件监听机制
- 事件:一件事情
 - 事件源:事件发生的地方
 - 监听器:一个对象
 - 注册监听:将事件、事件源、监听器绑定在一起 当事件源上发生某个事件后 执行监听器代码
 
 - ServletContextListener:监听ServletContext对象的创建和销毁
- 方法
- void contextDestroyed(ServletContextEvent sce):ServletContext对象被销毁之前会被调用该方法
 - void contextInitialized(ServletContextEvent sce):ServletContext对象创建会调用该方法
 
 - 步骤
- 定义一个类 实现ServletContextListener接口
 - 复写方法
 - 配置
- web.xml
 - 注解
 
 
 
 - 方法
 
监视器代码
package com.bai.listener; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; import java.io.FileInputStream; @WebListener public class ContextLoaderListener implements ServletContextListener { /** * 监听ServletContext对象创建 ServletContext对象服务器启动后自动创建 * *在服务器启动后自动调用 * @param servletContextEvent */ public void contextInitialized(ServletContextEvent servletContextEvent) { //加载资源文件 //获取ServletContext对象 ServletContext servletContext = servletContextEvent.getServletContext(); //加载资源文件 String initParameter = servletContext.getInitParameter("applicationContext.xml"); //获取真实路径 String realPath = servletContext.getRealPath(initParameter); //加载进内存 try{ FileInputStream fis = new FileInputStream(realPath); System.out.println(fis); }catch (Exception e){ e.printStackTrace(); } System.out.println("ServletContext对象被创建了..."); } /** * 在服务器关闭后 ServletContext对象被销毁 当服务器正常关闭后该方法调用 * @param servletContextEvent */ public void contextDestroyed(ServletContextEvent servletContextEvent) { System.out.println("ServletContext对象被销毁了..."); } }
配置文件
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!--配置监听器--> <listener> <listener-class>com.bai.listener.ContextLoaderListener</listener-class> </listener> <!--指定初始化参数--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/applicationContext.xml</param-value> </context-param> </web-app>
运行结果

                    
                
                
            
        
浙公网安备 33010602011771号