监听器/过滤器

一.监听器接口

  1. 介绍

一组来自于Servlet规范下的接口,共八个

监听器接口需要由开发人员实现

作用于监控,[作用域对象的生命周期的变化时刻]和[作用域对象的共享数据的变化时刻

  1. 作用域对象
  • 在Servlet规范中,认为为两个Servlet之间提供服务的共享方案的对象,被称为作用域对象
  • ServletContect: 全局作用域对象
  • HttpSession: 会话作用域对象
  • HttpServletRequest: 请求作用域对象
  1. 监听器接口实现类开发三步:
  • 根据监听的实际情况:选择对呀监听器接口进行实现
  • 重写监听器接口声明
  • 在web.xml文件将监听器接口实现类注册到http服务器
  1. ServletConetxtAttributeListener接口:

作用: 检测全局作用域的共享数据的变化时刻

  1. 全局作用域对象共享数据的变化时刻

二.使用方法(可以提高效率)

  1. 实现监听器接口实现类,并在xml文件里面注册到服务器,这个时候就具备监听作用

  2. 在监听器接口实现类里面 初始化函数里面加入全局作用域对象,并加入共享对象.
    在destroy函数里面销毁共享数据

  3. 在一开始就把共享数据创建好,以免后来的用户需要调用时一一新建对象,这样会花费大量时间.

  4. 在需要用到共享数据的类里面加入请求作用域对象,以便得到全局作用域对象.

三.过滤器:Filter接口

  1. 作用:

    • 拦截http服务器,帮助http服务器检测当前请求合法性
    • 拦截http服务器,对当前请求进行增强操作
  2. Filter接口实现类步骤:

    • 创建类实现接口
    • 重写接口的doFilter方法
    • web.xml将过滤器接口实现类注册到http服务器

四.过滤器防止用户恶意登录访问资源文件

  1. 监听器接口实现类

    • 转化为HttpServletRequest子类
    • 请求uri
    • 放行登录相关资源文件
    • 获取HttpSession文件,放行
    • 拒绝
  2. 在xml文件里面注册