监听器/过滤器
一.监听器接口
- 介绍
一组来自于Servlet规范下的接口,共八个
监听器接口需要由开发人员实现
作用于监控,[作用域对象的生命周期的变化时刻]和[作用域对象的共享数据的变化时刻
- 作用域对象
- 在Servlet规范中,认为为两个Servlet之间提供服务的共享方案的对象,被称为作用域对象
- ServletContect: 全局作用域对象
- HttpSession: 会话作用域对象
- HttpServletRequest: 请求作用域对象
- 监听器接口实现类开发三步:
- 根据监听的实际情况:选择对呀监听器接口进行实现
- 重写监听器接口声明
- 在web.xml文件将监听器接口实现类注册到http服务器
- ServletConetxtAttributeListener接口:
作用: 检测全局作用域的共享数据的变化时刻
- 全局作用域对象共享数据的变化时刻
二.使用方法(可以提高效率)
实现监听器接口实现类,并在xml文件里面注册到服务器,这个时候就具备监听作用
在监听器接口实现类里面 初始化函数里面加入全局作用域对象,并加入共享对象.
在destroy函数里面销毁共享数据在一开始就把共享数据创建好,以免后来的用户需要调用时一一新建对象,这样会花费大量时间.
在需要用到共享数据的类里面加入请求作用域对象,以便得到全局作用域对象.
三.过滤器:Filter接口
作用:
- 拦截http服务器,帮助http服务器检测当前请求合法性
- 拦截http服务器,对当前请求进行增强操作
Filter接口实现类步骤:
- 创建类实现接口
- 重写接口的doFilter方法
- web.xml将过滤器接口实现类注册到http服务器
四.过滤器防止用户恶意登录访问资源文件
监听器接口实现类
- 转化为HttpServletRequest子类
- 请求uri
- 放行登录相关资源文件
- 获取HttpSession文件,放行
- 拒绝
- 在xml文件里面注册