web 监听器
来源:互联网 发布:在线网络北京时间 编辑:程序博客网 时间:2024/05/02 02:50
Web服务器上有4个范围,抛开page范围,还有request范围,session范围,application范围。这些范围的对象什么时候创建,什么时候销毁,什么时候往范围中存放了数据,什么时候替换了存放的数据,都可以使用监听器来监听到。
监听器是一个实现特定接口的普通Java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即执行。
2、Servlet监听器
在Servlet规范中定义了多种类型的监听器,用于监听的事件源分别为ServleContext、HttpSession和ServletRequest这三个域对象。
Servlet API提供了8个监听器接口,他们分别是:
● ServletContextListener:应用上下文生命周期监听器。用于监听ServletContext对象的创建和销毁。
● ServletContextAttributeListener:应用上下文属性事件监听器。用于监听WEB应用上下文中的属性改变的事件。
● ServletRequestListener:请求生命周期监听器。用于监听请求的创建和销毁事件。
● ServletRequestAttributeListener:请求属性事件监听器。用于监听请求中的属性改变的事件。
● HttpSessionListener:会话生命周期监听器。用于监听会话的创建和销毁时间。
● HttpSessionActivationListenerListener:会话激活和钝化事件监听器。用于监听会话的激活和钝化的事件。
● HttpSessionAttributeListener:会话属性事件监听器。用于监听会话中的属性改变的事件。
● HttpSessionBindingListener:会话绑定事件监听器。这是唯一不需要在web.xml中设定的Listener。
每个监听器接口中都定义了一些回调方法,当对应的事件发生前或发生后,WEB容器会自动调用对应监听器实现类中的相应方法。
在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为 ServletContext, HttpSession 和 ServletRequest 这三个域对象。
3、监听servletContext域对象创建和销毁
ServletContextListener 接口用于监听 ServletContext 对象的创建和销毁事件。
下面我们来举个例子来说明:
编写 一个MyServletContextListener类实现ServletContextListener接口,具体代码如下:
public class MyServletContextListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println(arg0.getSource() + "被销毁了");
}
public void contextInitialized(ServletContextEvent arg0) {
System.out.println(arg0.getSource() + "被创建了");
}
}
然后在web.xml中注册监听器
<listener>
<listener-class>cn.csdn.web.listener.MyServletContextListener</listener-class>
</listener>
2、监听HttpSession域对象创建和销毁
HttpSessionListener接口用于监听HttpSession的创建和销毁
创建一个Session时,sessionCreated(HttpSessionEvent se) 方法将会被调用。
销毁一个Session时,sessionDestroyed (HttpSessionEvent se) 方法将会被调用
下面我们来举个例子来说明:
编写 一个MyHttpSessionListener类实现HttpSessionListener接口,具体代码如下:
public class MyHttpSessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent arg0) {
System.out.println("session对象" + arg0.getSession() + "被创建了");
}
public void sessionDestroyed(HttpSessionEvent arg0) {
System.out.println("session对象"+ arg0.getSession() + "被销毁了");
}
}
然后在web.xml中注册监听器
<listener>
<listener-class>cn.csdn.web.listener.MyHttpSessionListener</listener-class>
</listener>
3、监听HttpRequest域对象创建和销毁
ServletRequestListener 接口用于监听ServletRequest 对象的创建和销毁。
Request 对象被创建时,监听器的requestInitialized方法将会被调用。
Request对象被销毁时,监听器的requestDestroyed方法将会被调用。
下面我们来举个例子来说明:
编写 一个MyServletRequestListener类实现ServletRequestListener接口,具体代码如下:
public void requestDestroyed(ServletRequestEvent arg0) {
System.out.println("request对象"+arg0.getServletRequest()+"被创建了");
}
public void requestInitialized(ServletRequestEvent arg0) {
System.out.println("request对象"+arg0.getServletRequest()+"被销毁了");
}
}
然后在web.xml中注册监听器
<listener>
<listener-class>cn.csdn.web.listener.MyServletRequestListener</listener-class>
</listener>
转自:http://blog.csdn.net/xunfeng321/article/details/8504249
- web监听器
- web 监听器
- web-监听器
- web 监听器
- Web监听器
- Web监听器
- web 监听器
- web监听器
- web监听器
- Web监听器
- web监听器
- web监听器
- Web监听器
- java web listener 监听器
- java web中的监听器
- WEB-Servlet事件监听器
- Web应用的监听器
- java web 监听器详解
- 多线程中 run() 和 start() 方法 的区别
- virtualbox 共享文件夹
- 设计模式随笔-迭代器与组合模式
- 程序员日常小工具集棉
- 清华EMBA课程系列思考之十四 -- 战略管理
- web 监听器
- The first record of a career
- 91. Decode Ways
- strus2超简单实例
- selenium:7.一个超级简单的多线程程序
- tramp的一般用法
- hadoop集群搭建
- 搭建ELK日志系统
- Emacs中那些不常用的行操作命令