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

    监听器 Listener

    Web的另一大组件:Listener(监听器).
    Web中的监听器,主要用于监听作用域对象的创建,监听作用域对象属性的添加/删除/替换:

    监听器的分类

    1:监听作用域对象的创建和销毁.

    ​ ServletRequestListener:监听请求对象的创建和销毁.
    ​ HttpSessionListener:监听会话对象(session)的创建和销毁.
    ​ ServletContextListener:监听应用的创建和销毁.

    拿ServletContextListener举例 第一种监听器只有两个方法 初始化和销毁

    // 监听系统(应用)的启动和销毁
    @WebListener
    public class ContextLoaderListener implements ServletContextListener{
    
    	@Override
    	public void contextInitialized(ServletContextEvent sce) {
    		System.out.println("系统启动了");
    	}
    
    	@Override
    	public void contextDestroyed(ServletContextEvent sce) {
    		System.out.println("系统关闭了");
    		
    	}
    
    }
    

    2:监听作用域对象的属性的添加/删除/替换.

    ​ ServletRequestAttributeListener: 监听request作用域中属性的添加/删除/替换.
    ​ HttpSessionAttributeListener:监听session作用域中属性的添加/删除/替换.
    ​ ServletContextAttributeListener:监听application作用域中属性的添加/删除/替换.

    查看HttpSessionAttributeListener源码 时 可以看出第二种监听器有三个方法 添加 删除 替换

    public interface HttpSessionAttributeListener extends EventListener {
        
        public void attributeAdded(HttpSessionBindingEvent se);
        
        public void attributeRemoved(HttpSessionBindingEvent se);
    
        public void attributeReplaced(HttpSessionBindingEvent se);
    }
    

    监听器的配置

    1. 可以在web.xml中配置 只有Listener-class 没有url-pattern

      因为你要监听什么 实现哪一个类就可以了

    2. 可以用标签配置 @WebListener

  • 相关阅读:
    [转] DBus学习(一):总体介绍
    [转] DBus学习(四):基础小例子(同步和异步)
    linux系统调用列表
    Quantum Espresso + Phonopy 计算声子过程
    Compile Quantum Espresso (QE)
    Ubuntu 14.04 下创建 svn repository
    Python import 模块导入问题
    修改Ubuntu下ssh登陆时的欢迎信息
    ORNL cadesvirtues上编译 RMG/ Compile RMG on Cadesvirtues at ORNL
    launch images source启动图删除后上下有黑边
  • 原文地址:https://www.cnblogs.com/yhnCoder/p/13202537.html
Copyright © 2011-2022 走看看