JSP的Servlet监听器

本文介绍了Servlet监听器的应用场景,详细解析了7种监听器接口,包括应用级、会话级和请求级监听器的工作原理及使用方法。
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)    修改属性时调用

3. 对客户端请求进行监听(Requst级):
用于对客户端的请求进行监听是在 Servlet2.4 规范中新添加的一项新技术,使用的接口如下:
(1) ServletRequestListener 接口类
       requestDestroyed(ServletRequestEvent e)       对销毁客户端进行监听,即当执行 request.removeAttribute("xxx") 时调用
       requestInitialized(ServletRequestEvent e)         对实现客户端的请求进行监听

(2) ServletRequestAttributeListener 接口类
       attributeAdded(ServletRequestAttributeEvent e)         对属性添加进行监听
       attributeRemoved(ServletRequestAttributeEvent e)    对属性删除进行监听
       attributeReplaced(ServletRequestAttributeEvent e)    对属性替换进行监听
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值