2018-11-03监听器

一、什么是监听器

监听器是Servlet规范中定义的一种特殊类,用于监听ServletContext、HttpSession和ServletRequest等域对象的创建和销毁事件,它还可以监听域对象的属性发生修改的事件,可以在事件发生前或者发生后做一些必要的处理。

在Servlet中要创建监听器类首先需要新建一个类并继承相应的监听器接口,实现接口中定义的方法,然后在web.xml文件中注册相应的监听器即可。如果一个web.xml文件中注册了多个监听器,则监听器的启动顺序按照在web.xml中的注册顺序启动。如果一个web.xml文件中同时定义了监听器、过滤器和Servlet,那么web容器会先加载监听器、再加载过滤器最后加载Servlet。

二、监听器的分类

按照监听的事件可以将监听器划分为以下三类:

1、监听域对象自身的创建和销毁的事件监听器;

2、监听域对象中属性的增加和删除的事件监听器;

3、监听绑定到HttpSession域中某个对象状态的事件监听器。

1、监听域对象自身的创建和销毁的事件监听器

这一类监听器主要监听ServletContext、HttpSession和ServletRequest这三个域对象创建和销毁的事件,要实现这一类监听器,需要继承ServletContextListener、HttpSessionListener或者ServletRequestListener接口,分别来对这三个域对象进行分析。

2、监听域对象中属性的增加和删除的事件监听器

这一类监听器主要监听ServletContext、HttpSession和ServletRequest这三个域对象中属性的创建、销毁和修改的事件,要实现这三种监听器,就需要继承ServletContextAttributeListener、HttpSessionAttributeListener和ServletRequestAttributeListener这三个接口,并实现接口中的方法,下面通过一个实例来分析这三种类型的监听器。首先分别定义三个监听器分别表示这三种类型的监听器,定义如下,这三个监听器都是监听域对象中属性的创建、修改和删除动作并打印出相应的属性名称。

你可能感兴趣的:(2018-11-03监听器)