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注解即可

      

    一点一点积累,一点一点蜕变!
  • 相关阅读:
    LeetCode 501. 二叉搜索树中的众数
    LeetCode 404.左叶子之和
    LeetCode 450. 删除二叉搜索树中的节点
    LeetCode 437. 路径总和 III
    LeetCode 429. N 叉树的层序遍历
    LeetCode 213. 打家劫舍 II
    LeetCode 337. 打家劫舍 III
    LeetCode 198. 打家劫舍
    LeetCode 235. 二叉搜索树的最近公共祖先
    LeetCode 230. 二叉搜索树中第K小的元素
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/14940906.html
Copyright © 2011-2022 走看看