监听器的原理:
被监听对象→对象拥有的事件→捕获到事件变化→监听器捕捉事件→监听器处理该事件
Web服务器上有4个范围,抛开page范围,还有request范围,session范围,application范围。这些范围的对象什么时候创建,什么时候销毁,什么时候往范围中存放了数据,什么时候替换了存放的数据,都可以使用监听器来监听到。
servlet监听主要有:
1,监听servletContext域对象
2,监听HttpSession域3,监听HttpRequest域对象。这里面又有8大监听接口。
作用:
监听器是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即执行。
配置:
1.让我们来看看<listener>的组织结构。很简答,它只是指定了一个写好的监听器java类。加上对这个监听器简单的描述,命名。
2.ServletContext监听,自定义的监听器需要实现ServletContextListener监听器。
3.为了测试里面的监听关闭容器的方法,故意抛出一个致命错误,导致容器启动后,立刻挂掉。在web.xml故意把过滤器类名不指定。
4. spring中org.springframework.web.context.ContextLoaderListener类监听器也是实现了ServletContextListener这个接口的。作用是加载spring的配置文件。一定 要看看源码。要使用spring的监听器,主要一定要导入对应的jar包。
5.
另一个常用的是spring中配置log4j日志。日志在我们写程序调试的时候很重要,所以一定要配置好。那么还有其他好处:
1.动态的改变记录级别和策略,不需要重启Web应用。
2.把log文件定在 /WEB-INF/下任意目录, 而不需要写绝对路径。