动态过滤



 1.what——过滤器是一个中间组件,用于拦截并过滤源数据和目标数据之间的消息;驻留在容器内;过滤器对浏览器和服务器都是透明的。

2.原理——容器收到对资源的请求时,先判断是否资源与过滤器绑定(映射)——>过滤处理

     

       2.1:过滤器处理请求后,自己相应回网页,而不传递给资源。

       2.2:过滤器处理请求时,将请求的资源更改。

       2.3:经过过滤器链得到资源,响应信息过滤否均可。

3.过滤器的应用

     3.1:认证(防止越权)

     3.2:登录和审核()

     3.3:图片格式转换

     3.4:数据压缩

     3.5:加密

     3.6:令牌过滤(确保唯一)

4.过滤器在程序中的使用

     4.1:编码——实现接口filter和其3个方法。

     4.2:编译

     4.3:部署——web.xml中设置filter和filter-mapping

          4.3.1:<filter>

                  *filter-name——唯一

                  *filter-class

                  *init-param——设置FilterConfig的键和值;任意个

          4.3.2:<filter-mapping>

                  *filter-name

                  *url-pattern(其它映射)—d(都要执行该过滤)—>servlet-name(精确匹配)

                  *需要过滤操作的请求方式——REQUEST、INCLUDE、FORWARD()、ERROR(异常方式)

     4.4:运行

5.API

     5.0:HttpServletRequestWrapper

     5.1:HttpServletResponseWrapper

     5.2:ServletResponseWrapper

     5.3:ServletRequestWrapper

     5.4:filterConfig

        5.4.1:getFilterName()——获得过滤器名

        5.4.2:getInitParameter(String)——获得过滤器中参数的值

        5.4.3:getInitParameterNames(String)——获得过滤器中参数的键

        5.4.4:getServletContext()——与其它组件(Servlet/jsp)共享filter参数

     5.5:Filter

        5.5.1:initial(FilterConfig)——容器仅调用一次,未执行完以前容器不会转发请求到该过滤器。用于设置filterconfig

        5.5.2:doFilter(ServletRequest,ServletResponse,FilterChain)——实例化过滤操作;通过FilterChain的doFilter()方法将请求传给下一个Filter或资源;注意参数转型。

        5.5.3:destroy()

     5.6:FilterChain

        5.6.1:doFilter(ServletRequest,ServletResponse)——将控制权传给链中的下一个组件(filter或servlet)

        5.6.2:过滤顺序——第一批为url-pattern匹配的过滤器,第二批为servlet-name匹配的过滤器;同批次按filter-mapping顺序执行。

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值