• 23 监听器Listener——请求监听器 ServletRequestListener


    监听器概念

    监听器就是监视时间触发的对象,当监听器监听某一特定事件,而事件触发时,就会执行对应的监听器里的方法。例如:request请求创建事件的监听器。

    监听器的创建和配置

    创建

    创建一个类,实现对应的监听器接口。

    配置

    在web.xml中配置,如:

    <listener>
          <listener-name>requestListener</listener-name>
          <listener-class>cn.xiaohei.listener.Listener</listener-class>
      </listener>
    

      

    请求事件的监听器

    主要有两个:ServletRequestListener和ServletRequestAttributeListener

    ServletRequestListener:此接口只有两个方法,request创建时的方法和销毁时的方法。

    ServletRequestAttributeListener:此接口为监听请求对象中的数据(Attribute)的三个方法:添加,删除,修改数据。

    一般我们使用一个类来实现这多个监听接口作为监听器。

    如下:

    public class Listener implements ServletRequestListener,ServletRequestAttributeListener{
    	//请求销毁事件
    	@Override
    	public void requestDestroyed(ServletRequestEvent sre) {
    		System.out.println("我是request的监听器,我被销毁了");
    		//获取servletcontext对象
    		sre.getServletContext();
    		//获取servletrequest对象
    		sre.getServletRequest();
    	}
    	//请求创建事件
    	@Override
    	public void requestInitialized(ServletRequestEvent sre) {
    		// TODO Auto-generated method stub
    		System.out.println("我是request的监听器,我被创建了");
    		
    	}
    	//请求中的数据添加事件
    	@Override
    	public void attributeAdded(ServletRequestAttributeEvent srae) {
    		//获取此次添加的数据的Name值
    		srae.getValue();
    		//获取此次添加的数据的Value值
    		srae.getName();
    	}
    
    	//请求中的删除添加事件
    	@Override
    	public void attributeRemoved(ServletRequestAttributeEvent srae) {
    		// TODO Auto-generated method stub
    		
    	}
    
    	//请求中的数据替换事件
    	@Override
    	public void attributeReplaced(ServletRequestAttributeEvent srae) {
    		// TODO Auto-generated method stub
    		
    	}
    }	
    

      

  • 相关阅读:
    Redis单实例数据迁移到集群
    使用IDEA快速搭建基于Maven的SpringBoot项目(集成使用Redis)
    Linux下Mysql每天自动备份
    java调用webservice
    springmvc后台生成验证码
    Zabbix 监控端口状态并邮件报警
    Zabbix 通过smtp 邮件报警
    Zabbix安装(server和agent)及基本配置
    Spark之 Spark Streaming整合kafka(Java实现版本)
    openlayer 5 获取中心点
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12396616.html
Copyright © 2020-2023  润新知