javaweb三大组件--过滤器

1.过滤器的概念
Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应。 主要用于对HttpServletRequest 进行预处理,也可以对HttpServletResponse 进行后处理,是个典型的处理链。与servlet非常相似,请求发送到servlet之前,可用过滤器截获和处理请求,另外在servlet结束工作之后,但在相应发回给客户之前,可以用过滤器处理


2.过滤器可以做的事情
1.请求过滤器:
完成安全检查
重新格式化请求首部或体
建立请求审计或日志

2.响应过滤器:
压缩响应流
追加或修改响应流
创建一个完全不同的响应


3.过滤器的生命周期
init():初始化

在init()方法中,要把调用过滤器之前的所有初始化任务,比较常见的是保存FilterConfig对象的一个引用
doFilter():真正的过滤工作在此执行

一个ServletRequest方法  注: 不是HttpServletRequest
一个ServletResponse方法    不是HttpServletResponse
一个FilterChain方法
destroy():撤销
一般用于把状态清空,可不写

FilterChain的doFilter()方法要负责明确接下来调用谁的doFilter()方法,如果已经到了链尾则确定调用哪个servlet的service()方法

4.声明和确定过滤器顺序
servlet过滤器的执行顺序就是servlet过滤器在web.xml里面映射文件的顺序
过滤器可以应用于请求分派器
<url-pattern>映射总是在<servlet-name>映射前面
<dispatcher>元素
REQUEST值表示对客户请求启用过滤器,默认值是REQUEST
INCLURE值表示对由一个include()调用分配来的请求启用过滤器
FORWARD值表示对一个forward()调用分派来的请求启用过滤器
ERROR值表示对错误处理器调用的资源启用过滤器

5.过滤器的实例
(1)请求跟踪过滤器


xml的注释在上面

(2)解决中文字符编码的过滤器


xml文件格式:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值