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

      

    一点一点积累,一点一点蜕变!
  • 相关阅读:
    248.Strobogrammatic Number III
    git Changes not staged for commit,部分修改文件不能确认
    python 文件运行时隐藏命令窗口,图形化界面隐藏cmd窗口
    python 处理配置文件
    odoo 内嵌报表的方式,iframe
    odoo 多个数据库http请求指定数据库
    jasperreportserver 免登录访问,匿名访问报表
    python 图形化界面点击按钮卡死
    python 字符反转
    pentaho 相关介绍
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/14940906.html
Copyright © 2011-2022 走看看