过滤器的使用场景:
1.登录验证
将登录验证写在filter中验证是否已经登录
2.字符编码过滤
在spring框架中有一个专门的字符编码过滤器
3.servlet+filter+反射技术+抽象类+继承---------->简化servlet
通过filter拦截请求,然后转发到对应的servlet,通过反射技术,调用对应的方法,然后根据返回值,进行不同的跳转(客户端跳转,打印字符串,服务端跳转)。
使用filter时遇到的问题:
1.如果有多个过滤器,如何判断执行的顺序
- 第一:多个filter会依次运行,按照:过滤器1->过滤器2->过滤器3->程序->过滤器3->过滤器2->过滤器1 的顺序运行
- 第二:多个filter的顺序是由<filter-mapping>的先后决定的