版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/f2764052703/article/details/90105947
什么是监听器
监听器是servlet规范中定义的一种特殊类,用于监听ServletContext(application)、HttpSession(session)和ServletRequest(request)等域对象的创建与销毁事件,以及监听这些与对象属性发生修改的事件。可以在事件发生之前,之后做一些处理。
监听器能干什么
- 统计在线人数和在线用户
- 系统启动时加载初始化信息
- 统计网站访问量
- 与spring结合
创建监听器
- 创建监听器类
根据需要创建的监听器的种类实现对应的接口。import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class firstListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { System.out.println("listener init........."); } @Override public void contextDestroyed(ServletContextEvent sce) { System.out.println("listener destory.........."); } }
- 在服务器中注册监听器
<listener> <listener-class>firstListener</listener-class> </listener>
监听器在web3.0下只需要使用@WebListener注解就可以实现监听
监听器的种类
-
根据监听器的对象划分
- 用于监听application对象,实现ServletContextListener接口
- 用于监听session对象,实现HttpSessionListener接口
- 用于监听request对象,实现HttpSessionListener接口
-
根据监听器监听的事件划分
-
监听域对象创建与销毁(Listener)
作用:定时器、全局属性对象 -
监听域对象属性的改变(AttributeListener)
作用:统计在线人数、记录访问日志 -
将监听器绑定到session域中某个对象的状态上(BindingListener)不需要注册
读取参数,记录访问历史
-