Filter简介——理论篇

引言

     在最近的学习中,使用到了

filter,小编觉得我们要知其然,更要知其所以然,所以今天我们来叨叨filter……

Filter简介

     中文名字就是过滤器,所以大家可以根据他的中文名字大概的知道这个东东是干什么的。Filter技术是servlet2.3新增加的功能,大部分的jsp/servlet容器都支持。

     与servlet相似,filter是一些web应用程序组件,可以绑定到一个web应用程序中。但是Filter 不是一个servlet,它不能产生一个response,与其他web应用程序组件不同的是,filter是“链”在容器的处理过程中的。这就意味着filter会在servlet处理期之前访问一个进入的请求,并且在外发相应信息返回到客户前访问这些响应信息。这种访问使得filter可以检查并修改请求和响应的内容。


Filter放在容器结构的位置




     通过上图,我们可以知道,filter放在web资源之前,可以在请求抵达它所应用的web资源(可以是一个servlet、一个Jsp页面等)之前截获进入的请求,并且在它返回到客户之前截获输入请求。处于客户端与被请求的资源之间,目的是重用代码。


Filter链


     一个Filter可以负责拦截多个请求或响应,一个请求或响应也可以被多个filter拦截。Filter和AOP相似,都是面向切面的编程,可以看做是一种横切性的技术,体现了“职责连模式“。在web.xml中哪个先配置,就先调用哪个。


Filter种类


  1、用户授权的Filter: Filter 负责检查用户请求,根据请求过滤用户非法请求。

  2、日志Filter: 详细记录某些特殊的用户请求。

  3、负责解码的Filter: 包括对非标准编码的请求解码。

  4、能改变XML 内容的XSLTFilter 等。

 

Filter用处


   1、其实是对request和response请求进行了拦截。

   2、提供了一种声明式服务,具有可插拔的能力(用的时候放上去,不用的时候可以随时拿下来)。

   3、Filter只对Post请求起作用。


总结


     Filter是一个功能强大的东西,在开发初期的时候我们可以为一个web应用程序的新功能建立模型,对请求进行验证或者是其他的响应,而且还可以我们还可以在旧的代码上使用filter添加新功能。是不是很强大!

若想知道怎么用,请关注下一篇Filter简介——使用篇!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值