Java Web(Listener篇):简介

目录

Listener 简介

Listener 导图

Listener 分类

 1)按监听的对象划分:

2) 按监听的事件划分:

3) 按监听Session 内的对象划分:

创建Listener 监听器

(一)监听 Session、request、context 的创建与销毁。

1、三种监听器的触发时机及使用:

2、实例:实现监听对象的创建与销毁

(二)监听对象属性变化

1、三种监听器的触发时机及使用:

2、实例:实现对象属性的监听

(三)监听Session 内的对象

1、触发时机及使用:

2、实例:实现对象属性的监听

(四)web.xml中配置监听器

总结

源码下载


Listener 简介

监听器用于监听web应用中某些对象、信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。

常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等等。

Listener 导图

监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图:

Listener 分类

 1)按监听的对象划分:

  • ServletContext对象监听器(ServletContextListener)
  • HttpSession对象监听器(HttpSessionLister)
  • ServletRequest对象监听器(ServletRequestListener)

2) 按监听的事件划分:

  • 对象自身的创建和销毁的监听器(ServletContextAttributeListener)
  • 对象中属性的创建和消除的监听器(ServletRequestAttributeListener )
  • session中的某个对象的状态变化的监听器(HttpSessionAttributeLister)

3) 按监听Session 内的对象划分:

  • (HttpSessionBindingListener)
  • (HttpSessionActivationListener)

与上面六类不同,3)中两类 Listener 监听的是Session 内的对象,而非 Session 本身,不需要在 web.xml中配置。

创建Listener 监听器

(一)监听 Session、request、context 的创建与销毁。

 HttpSessionLister、ServletContextListener、ServletRequestListener

1、三种监听器的触发时机及使用:

2、实例:实现监听对象的创建与销毁

HttpSessionLister

ServletContextListener

ServletRequestListener

(二)监听对象属性变化

HttpSessionAttributeLister、ServletContextAttributeListener、ServletRequestAttributeListener 

1、三种监听器的触发时机及使用:

2、实例:实现对象属性的监听

HttpSessionAttributeLister

ServletContextAttributeListener

(三)监听Session 内的对象

分别为HttpSessionBindingListener 和 HttpSessionActivationListener

1、触发时机及使用:

对象必须实现Listener接口,不需要在web.xml中配置

2、实例:实现对象属性的监听

(四)web.xml中配置监听器

这里要谨记一条原则:

在web.xml中,监听器>过滤器>servlet。也就是说web.xml中监听器配置在过滤器之前,过滤器配置在servlet之前,否则会出错。

一个web.xml下有多一个监听器的话:是按照web.xml中配置顺序的加载而加载的。

总结

过滤器是Servlet 规范中定义的一种特殊类,可以理解为用于监听 时间,对象,或者某些对象的属性。可以在事件发生前,发生后做一些必要的处理。

源码下载

[相关示例完整代码]请获取 相关分支哦:feature-20180910-web 

猜你喜欢

转载自blog.csdn.net/Soinice/article/details/82866309