监听器
2016-04-11 17:46
288 查看
1.1 概述
监听器: 主要是用来监听特定对象的创建或销毁、属性的变化的!
是一个实现特定接口的普通java类!
对象:
自己创建自己用 (不用监听)
别人创建自己用 (需要监听)
Servlet中哪些对象需要监听?
request / session / servletContext
分别对应的是request监听器、session相关监听器、servletContext监听器
监听器(listener)
监听器接口:
一、监听对象创建/销毁的监听器接口
Interface ServletRequestListener 监听request对象的创建或销毁
Interface HttpSessionListener 监听session对象的创建或销毁
Interface ServletContextListener 监听servletContext对象的创建或销毁
二、监听对象属性的变化
Interface ServletRequestAttributeListener 监听request对象属性变化: 添加、移除、修改
Interface HttpSessionAttributeListener 监听session对象属性变化: 添加、移除、修改
Interface ServletContextAttributeListener 监听servletContext对象属性变化
三、session相关监听器
Interface HttpSessionBindingListener 监听对象绑定到session上的事件
Interface HttpSessionActivationListener(了解) 监听session序列化及反序列化的事件
404(路径写错)
500(服务器错误,调试)
1.2 生命周期监听器
声明周期监听器: 监听对象的创建、销毁的过程!
监听器开发步骤:
1. 写一个普通java类,实现相关接口;
2. 配置(web.xml)
A. ServletRequestListener
监听request对象的创建或销毁。
代码:
Web.xml
B. HttpSessionListener
监听session对象的创建或销毁。
C. ServletContextListener
监听servletContext对象的创建或销毁。
1.3 属性监听器
监听:request/session/servletContext对象属性的变化!
ServletRequestAttributeListener
HttpSessionAttributeListener
ServletContextAttributeListener
总结:先写类,实现接口; 再配置
1.4 其他监听器: session相关监听器
HttpSessionBindingListener
监听对象绑定/解除绑定到sesison上的事件!
步骤:
对象实现接口; 再把对象绑定/解除绑定到session上就会触发监听代码。
作用:
(上线提醒!)
监听器: 主要是用来监听特定对象的创建或销毁、属性的变化的!
是一个实现特定接口的普通java类!
对象:
自己创建自己用 (不用监听)
别人创建自己用 (需要监听)
Servlet中哪些对象需要监听?
request / session / servletContext
分别对应的是request监听器、session相关监听器、servletContext监听器
监听器(listener)
监听器接口:
一、监听对象创建/销毁的监听器接口
Interface ServletRequestListener 监听request对象的创建或销毁
Interface HttpSessionListener 监听session对象的创建或销毁
Interface ServletContextListener 监听servletContext对象的创建或销毁
二、监听对象属性的变化
Interface ServletRequestAttributeListener 监听request对象属性变化: 添加、移除、修改
Interface HttpSessionAttributeListener 监听session对象属性变化: 添加、移除、修改
Interface ServletContextAttributeListener 监听servletContext对象属性变化
三、session相关监听器
Interface HttpSessionBindingListener 监听对象绑定到session上的事件
Interface HttpSessionActivationListener(了解) 监听session序列化及反序列化的事件
404(路径写错)
500(服务器错误,调试)
1.2 生命周期监听器
声明周期监听器: 监听对象的创建、销毁的过程!
监听器开发步骤:
1. 写一个普通java类,实现相关接口;
2. 配置(web.xml)
A. ServletRequestListener
监听request对象的创建或销毁。
代码:
/** * 监听request对象的创建或销毁 * */ public class MyRequestListener implements ServletRequestListener{ // 对象销毁 @Override public void requestDestroyed(ServletRequestEvent sre) { // 获取request中存放的数据 Object obj = sre.getServletRequest().getAttribute("cn"); System.out.println(obj); System.out.println("MyRequestListener.requestDestroyed()"); } // 对象创建 @Override public void requestInitialized(ServletRequestEvent sre) { System.out.println("MyRequestListener.requestInitialized()"); } }
Web.xml
<!-- 监听request对象创建、销毁 --> <listener> <listener-class>cn.itcast.a_life.MyRequestListener</listener-class> </listener>
B. HttpSessionListener
监听session对象的创建或销毁。
C. ServletContextListener
监听servletContext对象的创建或销毁。
1.3 属性监听器
监听:request/session/servletContext对象属性的变化!
ServletRequestAttributeListener
HttpSessionAttributeListener
ServletContextAttributeListener
总结:先写类,实现接口; 再配置
1.4 其他监听器: session相关监听器
HttpSessionBindingListener
监听对象绑定/解除绑定到sesison上的事件!
步骤:
对象实现接口; 再把对象绑定/解除绑定到session上就会触发监听代码。
作用:
(上线提醒!)
/** * 监听此对象绑定到session上的过程,需要实现session特定接口 * */ public class Admin implements HttpSessionBindingListener { … 省略get/set // 对象放入session @Override public void valueBound(HttpSessionBindingEvent event) { System.out.println("Admin对象已经放入session"); } // 对象从session中移除 @Override public void valueUnbound(HttpSessionBindingEvent event) { System.out.println("Admin对象从session中移除!"); } }
相关文章推荐
- 进程与线程的区别?
- 数组排序
- HTML 5 Web Sockets应用初探
- 软件工程作业06
- DataTable.js
- Android —— 代码优化及常用代码块
- centos7安装openstack-kilo(一)
- 使用最新版AndroidStudio2.0进行NDK开发并且链接第三方so库
- LeetCode - Add Two Numbers
- 人月神话解读与感受
- c++标准模板库_联合容器_Bitsets详解
- :>/dev/null 2>&1 的作用
- ZOJ-3930-Dice Notation【模拟】
- JAVA MYSQL 插入数据后获取自增ID
- 继承ViewGroup:重写onMeasure方法和onLayout方法
- nginx+tomcat+windows实现负载均衡
- 稀疏矩阵基于“三元组”的转置算法实现
- java的反射机制浅谈
- xcode中的vim插件xvim安装
- Java——数组、向量(Vector)详解