zoukankan      html  css  js  c++  java
  • Listener监听器详解

    简述

      监听器是web的三大组件之一,事件的监听机制和js中的事件监听类似。

    事件 一件事
    事件源 事件发生的地方
    监听器 一个对象
    注册监听 将事件、事件源、监听器绑定在一起,当事件源上发生某个事件时,执行监听器代码

      监听器一般用于监听三大域ServletContext、Session和Request的创建和销毁,以及域中各属性的变化

    ServletContextListener监听接口

      该监听器监听ServletContext对象的创建和销毁

    void contextDestroyed(ServletContextEvent sce) ServletContext对象销毁之前会调用该方法
    void contextInitialized(ServletContextEvent sce) ServletContext对象销毁之后会调用该方法

    监听器的编写和配置

    编写

      和其余两个组件servlet和filter一样,监听器也是一个自定义的类,需实现接口,在这里这个接口就是特定的监听器接口了,这里以ServletContextListener为例

    package cn.itcast.web.listener;
    
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    
    public class ContextLoaderListener implements ServletContextListener {
    
        /**
         * 监听ServletContext创建,ServletContext对象是在服务器启动时自动创建
         * 服务器启动后自动调用
         * @param servletContextEvent
         */
        @Override
        public void contextInitialized(ServletContextEvent servletContextEvent) {
            System.out.println("ServletContext对象被创建了.....");
        }
        /**
         * 监听ServletContext销毁,ServletContext对象是在服务器关闭时销毁
         * 服务器关闭后自动调用
         * @param servletContextEvent
         */
        @Override
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
            System.out.println("ServletContext对象被销毁了......");
        }
    }

    配置

      监听器的配置极其简单,因为监听器是不需要访问的,所以只要在web.xml进行了一个注册的操作即可

    <listener>
        <listener-class>cn.itcast.web.listener.ContextLoaderListener</listener-class>
    </listener>

      当然我们也可以用注解方式配置监听器,只需要在类上面加一个@WebListener注解即可

      

    一点一点积累,一点一点蜕变!
  • 相关阅读:
    腾讯云启动jenkins
    腾讯云centos7.5安装jdk1.8
    windows安装python2.7、python3.7和pycharm
    centos
    jquery----Ajax异步获取数据添加到表格中
    java----封装思想
    js----对table操作
    jquery----Ajax补充
    jquery----ajax解决scrf问题
    jquery----Ajax
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/14940906.html
Copyright © 2011-2022 走看看