过滤器用于拦截传入的请求和传出的响应
监视,修改或以某种方式处理正在哭护短和服务器之间交换的数据流
过滤器的工作过程
1 浏览器请求数据
2 对请求数据进行筛选,过滤
3 有效请求数据
4 响应数据
5 对响应的数据进行筛选过滤
利用过滤器的特殊执行时机,可以实现Web应用程序中的预处理和后期处理逻辑
日志记录
改善性能
安全与会话管理
敏感字过滤
javax.servlet.Filter接口定义了过滤器需要实现的方法
void init(FilterConfig filterConfig) Web容器调用该方法实现过滤器的初始化
void doFilter(ServletRequest request,....,....)当客户端请求资源时,web'容器会调用与资源对应的过滤器的doFilter()方法。在该方法中,可以对请求和响应进行处理,实现过滤的功能
void destroy() Web容器销毁过滤器时调用该方法,可以用来释放所用的资源
FilterConfig接口
String getFilterName() 返回部署描述中定义的过滤器的名称
Enumeration<String> getInitParameterNames() 返回<filter>元素中定义事务init参数的名称的字符串枚举
String getInitParameter(String name) 获取web.xml中设置的以name命名的初始化参数
ServletContext getServletContext() 返回过滤器所属的Web上下文对象引用
编写过滤器的步骤
1创建过滤器
实现Filter接口
实现doFilter()方法
2部署过滤器
编译Filter到WEB-INF/classes目录
编辑部署描述文件web.xml
<filter>
<filter-mapping>
过滤器的生命周期
实列化 servlet容器创建Filter的实列
初始化 该容器调用init(FilterConfig)方法
执行过滤 如果由匹配的请求,则容器调用doFilter()方法
销毁 销毁实列之前调用destroy()方法
过滤器
最新推荐文章于 2023-12-14 08:45:00 发布