0、代码链接
链接:https://pan.baidu.com/s/1Mf9xM64HF-bL7ASb6M6lVQ
提取码:kkcl
1、实现效果
1) 不使用过滤器:
2)使用过滤器:
2、实现思路
1. 创建过滤器
2、重写doFilter()
3、配置filter(Servlet3.0用@WebFilter将一个实现了javax.servlet.Filter接口的类定义为过滤器组件)
3、遇到的问题
filter没有执行:
虽然Servlet3.0提供@WebFilter注解将一个实现了javax.servlet.Filter接口的类定义为过滤器,这样我们在web应用中使用过滤器时,也不再需要在web.xml文件中配置过滤器的相关描述信息了。但是默认的@WebFilter注解中只有当前filter的路径信息,需要重新对该注解进行配置:
扩展——过滤器:
过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。
过滤器在链中的顺序与它在web.xml中配置的顺序有关
在doFilter()方法中,chain.doFilter()前的一般是对request执行的过滤操作,chain.doFilter后面的代码一般是对response执行的操作。过滤链代码的执行顺序如下: