javaEE Listener, 监听器, MyServletContextAttributeListener。监听域对象中属性的变化


监听器的编写步骤:

a.编写一个监听器类去实现监听器接口
b.覆盖监听器的方法
c.需要在web.xml中进行配置---注册


ServletContextAttributeListener.java(自定义的监听器,实现ServletContextAttributeListener接口):

package com.xxx.demo;

import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;

public class MyServletContextAttributeListener implements ServletContextAttributeListener{

	@Override
	// 域对象中添加属性时触发
	public void attributeAdded(ServletContextAttributeEvent scab) {
		System.out.println(scab.getName());  //getName();放到域中的name (属性名)
		System.out.println(scab.getValue());  //getValue();放到域中的value (属性值)
	}

	@Override
	public void attributeRemoved(ServletContextAttributeEvent scab) {
		System.out.println(scab.getName());//删除的域中的name
		System.out.println(scab.getValue());//删除的域中的value
	}

	@Override
	public void attributeReplaced(ServletContextAttributeEvent scab) {
		System.out.println(scab.getName()); //获得修改前的name
		System.out.println(scab.getValue()); //获得修改前的value
	}

}
web.xml(配置文件,注册监听器):
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>MyWeb</display-name>
  
  <!-- 注册监听器(相当于hook钩子) -->
  <listener>
  	<listener-class>com.xxx.demo.MyServletContextAttributeListener</listener-class>  <!-- 必须是全名 (反射实现) -->
  </listener>
  
</web-app>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值