过滤器和包装器

作者:禅楼望月

过滤器要做的事情

请求过滤器

  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中声明的顺序组成一个链。

欢迎转载,请注明出处

转载于:https://www.cnblogs.com/yaoyinglong/p/Servlet%e8%bf%87%e6%bb%a4%e5%99%a8%e5%92%8c%e5%8c%85%e8%a3%85%e5%99%a8.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值