zoukankan      html  css  js  c++  java
  • 过滤器

    作者:禅楼望月(http://www.cnblogs.com/yaoyinglong

    过滤器要做的事情

    请求过滤器

    1. 完成安全检查

    2. 重新格式化请求首部或体

    3. 建立请求审计或日志

    响应过滤器

    1. 压缩响应流

    2. 追加或修改响应流

    3. 创建一个完全不同的响应

    注意不能把过滤器的顺序依赖性硬编码进程序中,它应该由DD控制。

    过滤器很像Servlet

    1 容器知道过滤器的API

    一个普通Java类实现了Filter接口后,这个Java会发生巨大的变化,成为一个正是的J2EE过滤器。

    2 容器管理过滤器的生命周期

    类似与Servlet过滤器也有init和destory方法。对应于Servlet的doGet/doPost方法,过滤器则有一个doFilter方法。

    3 都在DD中声明

    Web应用可有多个过滤器,一个给定的请求可能导致执行多个过滤器。针对请求要运行那些过滤器,以及运行的顺序如何,都可以在DD中声明。

    过滤器生命周期

    每个过滤器必须实现的Filter接口中的3个方法:init、doFilter、destory。

    1a986a44-c166-4ccd-95ec-493bfc313b1a

    声明和确定过滤器顺序

    在DD中配置过滤器:

    3ef2cfd9-aa16-4f66-a09a-515996f76a8e

    REQUEST表示:对客户端请求启用过滤器。

    INDLUDE表示:对由一个include()调用分派来的请求启用过滤器。

    RORWARD表示:对由一个forward()调用分派来的请求启用过滤器。

    ERROR表示:对错误处理器调用的资源启用过滤器。

    确定过滤器顺序的规则:

    1、先找到与URL模式匹配的所有过滤器。

    2、将所有匹配的过滤器按照其在DD中声明的顺序组成一个链。

  • 相关阅读:
    es(四)IK分词器和ElasticSearch集成使用
    es(三)使用postman来管理es数据
    es7.+(一)检索
    es7.+(二)进阶索引
    es7.+(三)mapping
    es(六)ElasticSearch的java编程操作
    es配置允许跨域和外网访问
    es(五)ElasticSearch集群
    C#数据导出到Excel源代码
    jQuery实现页内锚点平滑跳转
  • 原文地址:https://www.cnblogs.com/yaoyinglong/p/Filter.html
Copyright © 2011-2022 走看看