1、设计者观察模式

观察者模式通常由以下三部分组成:

事件源:触发事件的对象。

事件:触发的动作,里面封装了事件源。

监听器:当事件源触发事件时,要做的事情。

而所有的监听器都是观察者设计模式的体现。

2、监听器介绍

  • 在程序中,对象的销毁,域对象属性的变化,会话内容都可以进行监听
  • Servlet规范中有8个监听器,都是以接口的方式提供,具体功能需要自己实现

3、监听对象的监听器

1)ServletContextListener

用于监听ServletContext对象的创建和销毁

1)核心方法
返回值方法名作用
voidcontextInitialized(ServletContextEvent sce)对象创建时执行该方法
voidcontextDestroyed(ServletContextEvent sce)对象销毁时执行该方法

ServletContextEvent 代表事件对象

事件对象中封装了事件源,即ServletContext

真正的事件是创建和销毁ServletContext对象的操作

2)HttpSessionListener

用于监听 HttpSession 对象的创建和销毁

1)核心方法
返回值方法名作用
voidsessionCreated(HttpSessionEvent se)对象创建时执行该方法
voidsessionDestroyed(HttpSessionEvent se)对象销毁时执行该方法

HttpSessionEvent 代表事件对象

事件对象中封装了事件源,即 HttpSession

真正的事件是创建和销毁 HttpSession 对象的操作

3)ServletRequestListener

用于监听ServletRequest对象的创建和销毁

1)核心方法
返回值方法名作用
voidrequestInitialized(ServletRequestEvent sre)对象创建时执行该方法
voidrequestDestroyed(ServletRequestEvent sre)对象销毁时执行该方法

ServletRequestEvent 代表事件对象

事件对象中封装了事件源,即 ServletRequest

真正的事件是创建和销毁 ServletRequest 对象的操作

4、监听域对象属性变化的监听器

1)ServletContextAttributeListener

22090308

2)HttpSessionAttributeListener

22090309

4)ServletRequestAttributeListener

22090310

5、监听域会话相关的感知型监听器

1)HttpSessionBinderListener

22090311

2)HttpSessionActivationListener

22090312