此文为转载,正文请看https://blog.csdn.net/csdn19970806/article/details/80707271
1.监听器用来监听web程序中的事件,例如创建、修改、删除session、request、context等。
想要实现监听器的功能需要实现监听器的接口xxxLinetener,当Tomcat触发监听器的时候,会自动调用。
监听器可以分为四种类型:
ServletContext:主要监听servletContext的创建,需要实现ServeltContextListener接口。
ServletRequest:主要监听request的创建, 需要实现ServletRequestListener接口
HttpSession:主要监听session的创建,需要实现HttpSessionListener接口
监听属性的改变:
ServletContext:主要监听servletContext属性的更改、添加、删除,需要实现ServeltContextAttrbuteListener接口。
ServletRequest:主要监听request属性的更改、添加、删除, 需要实现ServletRequestAttrbuteListener接口
HttpSession:主要监听session属性的更改、添加、删除,需要实现HttpSessionAttrbuteListener接口
监听session的活化与钝化:
httpSessionActivationListener主要监听了session的活化与钝化
监听session与对象的绑定:
httpSessionBindingListener监听了session与对象的绑定
在springframework中有如下监听器一直以来不是很明白,现在明白了记录一下
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-security.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
此监听器是ContextLoaderListener 他实现了ServeltContextListene接口所以是一个容器监听器(对象监听器)
<context-param>标签所写的内容就是ServeltContextListene监听器监听的对象,注意名字必须是contextConfigLocation,
<param-value>是监听的路径
这个监听器的作用:
只要servletContext发生变化,例如实例化,那么就去加载路径为spring/spring-security.xml里面的配置