如果我们需要对用户的请求/服务端响应进行处理,我们就需要使用过滤器。
一般的过滤器的分类如下:
-
请求过滤器
安全检查
格式化请求首部
请求审计和日志
-
响应过滤器
压缩响应流
追加响应流
创建不同的响应流
和Servlet一样,过滤器也和容器密切相关:
容器知道过滤器的API
容器管理过滤器生命周期
在DD中配置
首先,我们来了解一下过滤器的生命周期:
容器使用init()方法,初始化过滤器
在doFilter()中完成过滤任务
使用destory()方法销毁过滤器
接着,声明控制过滤器的过滤顺序:
<!-- 配置filter -->
<filter>
<filter-name>xx</filter-name>
<filter-class>xx</filter-class>
</filter>
<!-- 配置filter映射 -->
<filter-mapping>
<filter-name>xx</filter-name>
<utl-pattern>*</url-pattern>
</filter-mapping>
当我们需要对响应进行封装时,我们可能需要对这个响应进行包装。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。