listener简介:
<listener>能为web应用创建监视器,监听上下文的各种事件,如:application和session事件,这些监视器都是按相同的方式定义,它的功能取决于各自实现的接口
常见web接口如下:
1、ServletContextListener 用于监听Web应用的启动和关闭;
2、ServletContextAttributeListener 用于监听ServletContext范围(application)内属性的改变
3、ServletRequestListener 用于监听用户的请求
4、ServletRequestAttributeListener 用于监听ServletRequest范围(request)内属性的改变
5、HttpSessionListener 用于监听用户session的开始和结束
6、HttpSessionAttributeListener 用于监听HttpSession范围(session)内属性的改变
这里比较重要的事件:应用的启动和停止(starting up or shutting down)和Session的创建和失效(created or destroyed)。
应用启动事件发生在应用第一次被容器装载和启动的时候;停止事件发生在Web应用停止的时候。
Session创建事件发生在每次一个新的session创建的时候,类似地Session失效事件发生在每次一个Session失效的时候。
listener配置
为Web应用配置Listener的两种方式:
1. 使用@WebListener修饰Listener实现类即可。
2. 在web.xml文档中使用<listener>进行配置。
我们以web.xml这种配置方式为例,它只有一个元素<listener-class>指定Listener的实现类,
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
此配置是用来加载Spring的配置(多指applicationContext.xml)