Web监听器(Listener)

版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/f2764052703/article/details/90105947

什么是监听器

监听器是servlet规范中定义的一种特殊类,用于监听ServletContext(application)、HttpSession(session)和ServletRequest(request)等域对象的创建与销毁事件,以及监听这些与对象属性发生修改的事件。可以在事件发生之前,之后做一些处理。

监听器能干什么

  • 统计在线人数和在线用户
  • 系统启动时加载初始化信息
  • 统计网站访问量
  • 与spring结合

创建监听器

  1. 创建监听器类
    根据需要创建的监听器的种类实现对应的接口。
    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..........");
    	}
    }
    
    
  2. 在服务器中注册监听器
    <listener>
    	<listener-class>firstListener</listener-class>
    </listener>
    

监听器在web3.0下只需要使用@WebListener注解就可以实现监听

监听器的种类

  • 根据监听器的对象划分

    1. 用于监听application对象,实现ServletContextListener接口
    2. 用于监听session对象,实现HttpSessionListener接口
    3. 用于监听request对象,实现HttpSessionListener接口
  • 根据监听器监听的事件划分

    1. 监听域对象创建与销毁(Listener)
      作用:定时器、全局属性对象

    2. 监听域对象属性的改变(AttributeListener)
      作用:统计在线人数、记录访问日志

    3. 将监听器绑定到session域中某个对象的状态上(BindingListener)不需要注册
      读取参数,记录访问历史

猜你喜欢

转载自blog.csdn.net/f2764052703/article/details/90105947