监听器总结

监听器总结续
二、Listenner的注册Javaweb的这些特别的监听器注册比较简单,因为ServletRequest、HttpSession、ServletContext对象都是容器创建的,所以需要它们的监听器的话,只需要在应用的web-info的web.xml里配置即可:

<listener>
<listenerclass>com.test.listener.MyHttpSessionAttributeListener</listener-class>
<listener-class>com.test.listener.MyServletContextAttributeListener</listener-class>
<!— 多个实现相同的Listenner接口,在执行时是按web.xml注册出现的来决定。 —></listener>
注意:感知型监听器HttpSessionBindingListener、HttpSessionActivationListener不需要注册。

三、应用场景:
由于ervletRequest、HttpSession、ServletContext对象都是容器创建的,什么时候创建,用户都不知道。通过实现这些对象的监听器后,就可以得知了。比如:
1>在ServletContextLintener监听器的contextInitialized方法中,进行应用级的资源初始化以便提高效率,在contextDestroyed方法中对应用级的资源进行释放。
2>又比如web应用中,会存在会话,通常的作法是将当前登录的用户存放在session会话中。那么如何统计在线人数话,如何显示出当前登录的用户呢。如何踢出某些已登录的用户呢。就可以通过HttpSessionAttributeListener监听器的attributeAdded方法,等等。
四、优先级顺序
监听器->过滤器->Servlet


监听器启动顺序

五、在Servlet3.0下的使用
通过在类前添加注解@WebListener即可,不用在web.xml中配置,在servlet3.0中监听器没有顺序

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,394评论 11 349
  • 本文包括:1、Listener简介2、Servlet监听器3、监听三个域对象创建和销毁的事件监听器4、监听三个域对...
    廖少少阅读 6,178评论 6 28
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 1,436评论 0 10
  • Servlet过滤器是 Servlet 程序的一种特殊用法,主要用来完成一些通用的操作,如编码的过滤、判断用户的登...
    重山杨阅读 1,297评论 0 12
  • 去年有一段时间泡健身房,观察到一个现象:无论男女,能坚持锻炼的都是身材比较好的,身材严重走形的则三天打鱼两天晒网。...
    Felix小菲阅读 1,032评论 1 4