首页 > 代码库 > JSP的Servlet监听器
JSP的Servlet监听器
JSP的Servlet监听器
来源: http://blog.csdn.net/phoenix_17th/article/details/3868670
Servlet 监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处理。目前 Servlet2.4 和 JSP2.0 常用的有7个监听器接口,分为3类:
1. Servlet上下文进行监听(Application级):
用于监听 ServletContext 对象的创建和删除以及属性的添加、删除和修改等操作,该监听器需要用到如下两个接口类:
(1) ServletContextAttributeListener:监听对 ServletContext 属性的操作,比如增加、删除、修改
attributeAdded(ServletContextAttributeEvent e) 添加属性时调用
attributeReplaced(ServletContextAttributeEvent e) 修改属性时调用
attributeRemoved(ServletContextAttributeEvent e) 删除属性时调用
(2) ServletContextListener:监听对 ServletContext 对象的创建和删除
contextInitialized(ServletContextEvent sce) 初始化时调用
contextDestroyed(ServletContextEvent sce) 销毁时调用,即当服务器重新加载时调用
2. 监听HTTP会话(Session级):
用于监听 HTTP 会话活动情况和 HTTP 会话中的属性设置情况,也可以监听 HTTP 会话的 active 和 passivate 情况等,该监听器需要用到如下多个接口类:
(1) HttpSessionListener:监听 HttpSession 的操作
sessionCreate(HttpSessionEvent se) 初始化时调用;
sessionDestroyed(httpSessionEvent se) 销毁时调用,即当用户注销时调用
(2) HttpSessionActivationListener:用于监听 HTTP 会话的 active 和 passivate 情况
(3) HttpSessionAttributeListener:监听 HttpSession 中的属性操作
attributeAdded(HttpSessionBindingEvent se) 添加属性时调用
attributeRemoved(HttpSessionBindingEvent se) 删除属性时调用
attributeReplaced(HttpSessionBindingEvent se) 修改属性时调用
用于对客户端的请求进行监听是在 Servlet2.4 规范中新添加的一项新技术,使用的接口如下:
(1) ServletRequestListener 接口类
requestDestroyed(ServletRequestEvent e) 对销毁客户端进行监听,即当执行 request.removeAttribute("xxx") 时调用
requestInitialized(ServletRequestEvent e) 对实现客户端的请求进行监听
(2) ServletRequestAttributeListener 接口类
attributeAdded(ServletRequestAttributeEvent e) 对属性添加进行监听
attributeRemoved(ServletRequestAttributeEvent e) 对属性删除进行监听
attributeReplaced(ServletRequestAttributeEvent e) 对属性替换进行监听
1. Servlet上下文进行监听(Application级):
用于监听 ServletContext 对象的创建和删除以及属性的添加、删除和修改等操作,该监听器需要用到如下两个接口类:
(1) ServletContextAttributeListener:监听对 ServletContext 属性的操作,比如增加、删除、修改
attributeAdded(ServletContextAttributeEvent e) 添加属性时调用
attributeReplaced(ServletContextAttributeEvent e) 修改属性时调用
attributeRemoved(ServletContextAttributeEvent e) 删除属性时调用
(2) ServletContextListener:监听对 ServletContext 对象的创建和删除
contextInitialized(ServletContextEvent sce) 初始化时调用
contextDestroyed(ServletContextEvent sce) 销毁时调用,即当服务器重新加载时调用
2. 监听HTTP会话(Session级):
用于监听 HTTP 会话活动情况和 HTTP 会话中的属性设置情况,也可以监听 HTTP 会话的 active 和 passivate 情况等,该监听器需要用到如下多个接口类:
(1) HttpSessionListener:监听 HttpSession 的操作
sessionCreate(HttpSessionEvent se) 初始化时调用;
sessionDestroyed(httpSessionEvent se) 销毁时调用,即当用户注销时调用
(2) HttpSessionActivationListener:用于监听 HTTP 会话的 active 和 passivate 情况
(3) HttpSessionAttributeListener:监听 HttpSession 中的属性操作
attributeAdded(HttpSessionBindingEvent se) 添加属性时调用
attributeRemoved(HttpSessionBindingEvent se) 删除属性时调用
attributeReplaced(HttpSessionBindingEvent se) 修改属性时调用
(4) HttpSessionBindingListener
BindingListener有2个方法,valueBound(HttpSessinBindingEvent)和valueUnbount(HttpSessionBindingEvent)。
实现BindingListener接口的监听器在对象被绑定到session时触发valueBound事件,解除绑定时触发valueUnbound事件。
用于对客户端的请求进行监听是在 Servlet2.4 规范中新添加的一项新技术,使用的接口如下:
(1) ServletRequestListener 接口类
requestDestroyed(ServletRequestEvent e) 对销毁客户端进行监听,即当执行 request.removeAttribute("xxx") 时调用
requestInitialized(ServletRequestEvent e) 对实现客户端的请求进行监听
(2) ServletRequestAttributeListener 接口类
attributeAdded(ServletRequestAttributeEvent e) 对属性添加进行监听
attributeRemoved(ServletRequestAttributeEvent e) 对属性删除进行监听
attributeReplaced(ServletRequestAttributeEvent e) 对属性替换进行监听
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。