Filter用法

2024-05-17 15:57

1. Filter用法


Filter用法

2. filter的使用 java 过滤器的几种使用方法

过滤器
过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。



如图,浏览器发出的请求先递交给第一个filter进行过滤,符合规则则放行,递交给filter链中的下一个过滤器进行过滤。过滤器在链中的顺序与它在web.xml中配置的顺序有关,配置在前的则位于链的前端。当请求通过了链中所有过滤器后就可以访问资源文件了,如果不能通过,则可能在中间某个过滤器中被处理掉。
在doFilter()方法中,chain.doFilter()前的一般是对request执行的过滤操作,chain.doFilter后面的代码一般是对response执行的操作。过滤链代码的执行顺序如下:

过滤器一般用于登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换等等操作,便于代码重用,不必每个servlet中还要进行相应的操作。

3. 过滤器Filter

 过滤器是 Servlet 的高级特性之一,是实现了 Filter 接口的 Java。 过滤器位于浏览器与服务器端之间,充当滤网的作用,过滤或处理一些不恰当的请求 。
    过滤器的用处: 过滤敏感字符串、避免中文乱码、权限验证(规定只带有Session或Cookie的用户才能访问)等等;
   所有实现了 Filter 接口的类都称为过滤器。过滤器必须实现 Filter 下的三个方法:
   其中, doFilter()  方法有三个参数 ServletRequest、ServletResponse 和 FilterChain,FilterChain 参数用于调用后续的过滤器,如果不存在过滤器,则访问目标资源;
    web.xml中配置 
   应用顺序是指 根据请求地址执行对应的过滤器的顺序 。执行拦截一个请求的过滤器是根据 web.xml中    顺序从上往下执行,而且是嵌套执行的。   一个请求中,如果需要经过多个过滤器,其请求和响应的过程如下图所示   
                                           

过滤器Filter