Servlet之Listener监听器
来源:互联网 发布:手术网络直播 编辑:程序博客网 时间:2024/05/11 13:30
Servlet2.5规范共有8中Listener接口,6种Event类型
ServletContextListener接口
[接口方法] contextInitialized()与 contextDestroyed()
[接收事件] ServletContextEvent
[触发场景] 在Container加载Web应用程序时(例如启动Container之后),会呼叫contextInitialized(),而当容器移除Web应用程序时,会呼叫contextDestroyed ()方法。
ServletContextAttributeListener
[接口方法] attributeAdded()、 attributeReplaced()、attributeRemoved()
[接收事件] ServletContextAttributeEvent
[触发场景] 若有对象加入为application(ServletContext)对象的属性,则会呼叫attributeAdded(),同理在置换属性与移除属性时,会分别呼叫attributeReplaced()、attributeRemoved()。
HttpSessionListener
[接口方法] sessionCreated()与sessionDestroyed ()
[接收事件] HttpSessionEvent
[触发场景] 在session (HttpSession)对象建立或被消灭时,会分别呼叫这两个方法。
HttpSessionAttributeListener
[接口方法] attributeAdded()、 attributeReplaced()、attributeRemoved()
[接收事件] HttpSessionBindingEvent
[触发场景] 若有对象加入为session(HttpSession)对象的属性,则会呼叫attributeAdded(),同理在置换属性与移除属性时,会分别呼叫attributeReplaced()、 attributeRemoved()。
HttpSessionActivationListener
[接口方法] sessionDidActivate()与 sessionWillPassivate()
[接收事件] HttpSessionEvent
[触发场景]Activate与Passivate是用于置换对象的动作,当session对象为了资源利用或负载平衡等原因而必须暂时储存至硬盘或其它储存器时(透过对象序列化),所作的动作称之为Passivate,而硬盘或储存器上的session对象重新加载JVM时所采的动作称之为Activate,所以容易理解的,sessionDidActivate()与 sessionWillPassivate()分别于Activeate后与将Passivate前呼叫。
ServletRequestListener
[接口方法] requestInitialized()与 requestDestroyed()
[接收事件] RequestEvent
[触发场景] 在request(HttpServletRequest)对象建立或被消灭时,会分别呼叫这两个方法。
ServletRequestAttributeListener
[接口方法] attributeAdded()、 attributeReplaced()、attributeRemoved()
[接收事件] HttpSessionBindingEvent
[触发场景] 若有对象加入为request(HttpServletRequest)对象的属性,则会呼叫attributeAdded(),同理在置换属性与移除属性时,会分别呼叫attributeReplaced()、 attributeRemoved()。
HttpSessionBindingListener
[接口方法] valueBound()与valueUnbound()
[接收事件] HttpSessionBindingEvent
[触发场景] 实现HttpSessionBindingListener接口的类别,其实例如果被加入至session(HttpSession)对象的属性中,则会呼叫 valueBound(),如果被从session(HttpSession)对象的属性中移除,则会呼叫valueUnbound(),实现HttpSessionBindingListener接口的类别不需在web.xml中设定。
实现上面这几个接口的类别,除了HttpSessionBindingListener外,必须在web.xml中向容器注册,容器才会在对应的事件发生时呼叫对应的类别,如
- < listener>
- < listener-class>
- demo.servlet.listener.CustomServletContextListener
- < /listener-class >
- < /listener>
- public class ListenerTestimplements HttpSessionListener{
- Log log = LogFactorygetLog(getClass());
- public void sessionCreated(HttpSessionEvent event){
- httpSession session =event.getSession();
- log.info("新建一个session,ID为"+session.getId());
- }
- public void sessionDestroyed(HttpSessionEvent event){
- httpSession session =event.getSession();
- log.info("销毁一个session,ID为"+session.getId());
- }
- }
- Servlet之Listener监听器
- Servlet之Listener监听器
- Servlet之监听器Listener
- Servlet 监听器Listener
- Servlet监听器 Listener
- Servlet-监听器Listener
- servlet监听器Listener
- Servlet监听器listener
- Servlet的监听器Listener
- Servlet监听器(Listener)
- java EE开发之Servlet第四课:监听器(Listener)
- Listener是Servlet的监听器
- Servlet Listener——监听器
- Listener监听器之HttpSessionListener
- Listener监听器之HttpSessionListener
- Listener监听器之HttpSessionListener
- Listener监听器之HttpSessionListener
- JavaWeb之Listener监听器
- android开发视频播放器------Vitamio 播放页实例
- 使用Chrome开发工具调试Canvas
- 第15周 项目2-阅读程序
- Python 正则表达式查找特定XML Tag中的Attribute
- http头部信息详讲
- Servlet之Listener监听器
- 【Hibernate框架】Hibernate入门
- java I/O流学习(三)
- qtp写日志到txt中
- 设计模式之“创建型模式”
- Servlet中的文件上传
- iOS7 用户头像——圆形处理
- 现代C++中的预处理宏
- SwipeMenuListView使用详解