如果我们需要对用户的请求/服务端响应进行处理,我们就需要使用过滤器。

一般的过滤器的分类如下:

  • 请求过滤器

    • 安全检查

    • 格式化请求首部

    • 请求审计和日志

  • 响应过滤器

    • 压缩响应流

    • 追加响应流

    • 创建不同的响应流

和Servlet一样,过滤器也和容器密切相关:

  • 容器知道过滤器的API

  • 容器管理过滤器生命周期

  • 在DD中配置

首先,我们来了解一下过滤器的生命周期:

  1. 容器使用init()方法,初始化过滤器

  2. 在doFilter()中完成过滤任务

  3. 使用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>

当我们需要对响应进行封装时,我们可能需要对这个响应进行包装。


野原英雄
206 声望25 粉丝

一只小猿


引用和评论

0 条评论