Java Listener-(Java 监听器)
来源:互联网 发布:首付不够怎么买房知乎 编辑:程序博客网 时间:2024/06/05 15:38
前言
在上篇文章中,简要的总结了过滤器Filter,过滤器这个名字已经很形象了。补充说明三点:
第一,在doFilter方法中一般都会先进行强制类型转换,
HttpServletRequest req=(HttpServletRequest) request;
HttpServletResponse resp=(HttpServletResponse) response;
第二,过滤器经常用来给Servlet 的请求对象和响应对象设置编码,
req.setCharacterEncoding("utf-8");
resp.setHeader("content-type", "text/html;charset=utf-8");
第三,可以有多个过滤器同时作用到一个Servlet,作用的顺序与过滤器在web.xml中配置顺序有关:先配置先作用。
下面简要介绍监听器。
一、含义
Java 监听器可以监听web资源的变化,如监听Servlet三大作用域对象等。
二、如何使用
1.监听request对象
1)监听request对象的初始化和销毁状态
public class TestRequestListener implements ServletRequestListener{
@Override
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("一个请求销毁了!");
HttpServletRequest request=(HttpServletRequest) sre.getServletRequest();
System.out.println(request.getParameter("uname"));
}
@Override
public void requestInitialized(ServletRequestEvent sre) {
System.out.println("一个请求产生了!");
HttpServletRequest request=(HttpServletRequest) sre.getServletRequest();
System.out.println(request.getParameter("uname"));
}
}
2)监听request的属性状态
public class TestRequestListener2 implements ServletRequestAttributeListener{
@Override
public void attributeAdded(ServletRequestAttributeEvent srae) {
System.out.println("存了个值");
//获取键
String name=srae.getName();
//获取值
String value=(String) srae.getValue();
System.out.println(name+"--"+value);
}
@Override
public void attributeRemoved(ServletRequestAttributeEvent srae) {
System.out.println("移出了个值");
//获取键
String name=srae.getName();
//获取值
String value=(String) srae.getValue();
System.out.println(name+"--"+value);
}
@Override
public void attributeReplaced(ServletRequestAttributeEvent srae) {
System.out.println("替换了个值");
//获取键
String name=srae.getName();
//获取的值是替换之前的值
String value=(String) srae.getValue();
System.out.println("替换前的键值对:"+name+"--"+value);
//获取 替换之后的值
HttpServletRequest req=(HttpServletRequest) srae.getServletRequest();
String value2=(String) req.getAttribute(name);
System.out.println("替换后的键值对:"+name+"--"+value2);
}
}
2.监听其他对象
另外对Application对象和Session对象监听,操作与request类似。
3.在web.xml中配置监听器
<listener>
<listener-class>包名+监听器的类名</listener-class>//设置监听器,设置后默认监听所有资源
</listener>
三、生命周期
与Java Filter基本相同。
详细介绍请参考:http://blog.csdn.net/csh624366188/article/details/7423215
- Java Listener-(Java 监听器)
- Listener(java传统监听器)
- java web listener 监听器
- Java监听器Listener
- Java监听器Listener使用说明
- java web listener 监听器
- java中的监听器(listener)
- Java Web监听器Listener
- java web listener 监听器
- java web 监听器listener
- java web listener 监听器
- Java ---Listener监听器
- Java中的Listener监听器
- Java--监听器Listener
- Java监听器Listener使用说明
- Java中的Listener 监听器
- Java监听器Listener使用说明
- java-WEB中的监听器Listener
- 1211:中文系素素的困惑
- lyx中文配置
- 微分享-高并发下的缓存实战
- 数据挖掘AdaBoost
- 用jquery获取元素的下标的值和eq的用法--案例
- Java Listener-(Java 监听器)
- 51Nod 1335 思维
- Android 应用内启动第三方应用
- activity 工作流
- bzoj4066&2683简单题 K-Dtree
- android studio Error occurred during initialization of VM Could not reserve enough space
- 各类排序算法
- Java保留小数位的4种方法
- java反射基础