javaWeb监听器(Listener)

监听器的概述

监听器:就是一个Java类,用来监听其他的Java的状态的变化.

监听器的用途:用来监听其他对象的变化,主要在图像化界面用得比较多

监听器的术语:(拿汽车和警报器举例)

  • 事件源:指的是被监听的对象.(汽车)
  • 监听器:值的是监听的对象.(报警器)
  • 事件源与监听器的绑定:就是在汽车上安装报警器.
  • 事件:指的是事件源的改变.(踹汽车一脚)---主要的功能获得事件源对象.

WEB中监听器的概述

WEB中的监听器:

WEB中的Listener和Filter是属于Servlet规范中的高级的技术.WEB中的监听器共有三类八种(监听三个域对象)

  • 事件源:Servlet中的三个域对象.ServletContext,HttpSession,ServletRequest.
  • 监听器:自定义类实现8个接口.
  • 事件源和监听器的绑定:配置.

WEB中的监听器的分类:

三类八种:

  1. 监听三个域对象的创建和销毁的监听器:


    * ServletContextListener
    * HttpSessionListener
    * ServletRequestListener

  2. 监听三个域对象的属性变更的监听器(属性添加,移除,替换):


    * ServletContextAttributeListener
    * HttpSessionAttributeListener
    * ServletRequestAttributeListener

  3. 监听HttpSession中的JavaBean的状态改变(绑定,解除绑定,钝化,活化)


    * HttpSessionBindingListener
    * HttpSessionActivationListene

一类:监听三个域对象的创建和销毁的监听器

ServletContextListener:监听ServletContext对象的创建和销毁:
【方法】:

【ServletContext对象的创建和销毁】:

* 创建:服务器启动的时候,服务器为每个WEB应用创建一个属于该web项目的对象ServletContext.

* 销毁:服务器关闭或者项目从服务器中移除的时候.

配置:

<listener>
  	<listener-class>com.itheima.weblistener.MyServletContextListener</listener-class>
</listener>

HttpSessionListener:监听HttpSession对象的创建和销毁:

【方法】配置同上

ServletRequestListener:监听ServletRequest对象的创建和销毁:

【方法】配置同上

二类:  监听三个域对象的属性变更的监听器:(属性添加,移除,替换)

ServletContextAttributeListener:监听ServletContext对象的属性变更

HttpSessionAttributeListener:监听HttpSession中的属性变更:

ServletRequestAttributeListener:监听ServletRequest对象的属性变更的:

三类:监听HttpSession中的JavaBean的对象的状态改变的监听器

第三类监听器很特殊,不需要进行配置的.作用在JavaBean上的监听器.JavaBean可以自己感知到在Session中的状态.

HttpSessionBindingListener:监听HttpSession中的JavaBean的绑定和解除绑定的

​​​​​​​HttpSessionActivationListener:监听HttpSession中的JavaBean的钝化和活化的.

* sessionDidActivate(); :--活化(反序列化)

* sessionWillPassivate(); :--钝化(序列化到硬盘)

猜你喜欢

转载自blog.csdn.net/iteen/article/details/84632137
今日推荐