• Listener:监听器


    Listener:监听器

    * 概念:web的三大组件之一。
    	* 事件监听机制
    		* 事件	:一件事情
    		* 事件源 :事件发生的地方
    		* 监听器 :一个对象
    		* 注册监听:将事件、事件源、监听器绑定在一起。 当事件源上发生某个事件后,执行监听器代码
    
    
    * ServletContextListener:监听ServletContext对象的创建和销毁
    	* 方法:
    		* void contextDestroyed(ServletContextEvent sce) :ServletContext对象被销毁之前会调用该方法
    		* void contextInitialized(ServletContextEvent sce) :ServletContext对象创建后会调用该方法
    	* 步骤:
    		1. 定义一个类,实现ServletContextListener接口
    		2. 复写方法
    		3. 配置
    			1. web.xml
    					<listener>
     					 <listener-class>cn.itcast.web.listener.ContextLoaderListener</listener-class>
    					</listener>
    
    					* 指定初始化参数<context-param>
    			2. 注解:
    				* @WebListener
    

    代码

    package cn.itcast.web.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
         */
        @Override
        public void contextInitialized(ServletContextEvent servletContextEvent) {
            //加载资源文件
            //1.获取ServletContext对象
            ServletContext servletContext = servletContextEvent.getServletContext();
    
            //2.加载资源文件
            String contextConfigLocation = servletContext.getInitParameter("contextConfigLocation");
    
            //3.获取真实路径
            String realPath = servletContext.getRealPath(contextConfigLocation);
    
            //4.加载进内存
            try{
                FileInputStream fis = new FileInputStream(realPath);
                System.out.println(fis);
            }catch (Exception e){
                e.printStackTrace();
            }
            System.out.println("ServletContext对象被创建了。。。");
        }
    
        /**
         * 在服务器关闭后,ServletContext对象被销毁。当服务器正常关闭后该方法被调用
         * @param servletContextEvent
         */
        @Override
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
            System.out.println("ServletContext对象被销毁了。。。");
        }
    }
    
    
  • 相关阅读:
    spring+ springmvc + websocket+sockjs 404/200
    spring+ springmvc + websocket+sockjs 404/200
    Java中assert(断言)的使用
    Java中assert(断言)的使用
    shiro 静态页面资源不显示 解决方案
    shiro 静态页面资源不显示 解决方案
    彻底解决 intellij IDEA 卡顿 优化笔记
    彻底解决 intellij IDEA 卡顿 优化笔记
    bigdecimal 保留小数位
    bigdecimal 保留小数位
  • 原文地址:https://www.cnblogs.com/conglingkaishi/p/15315187.html
Copyright © 2020-2023  润新知