编写流程:
1.写一个类实现Filter接口
2.实现所有方法,doFilter为核心方法
3.配置Filter,配置文件web.xml或者注解配置。
1. web.xml配置
<filter>
<filter-name>demo1</filter-name>
<filter-class>cn.itcast.web.filter.FilterDemo1</filter-class>
</filter>
<filter-mapping>
<filter-name>demo1</filter-name>
<!-- 拦截路径 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
2.执行流程
doFilter:每一次请求被拦截资源时,会执行。执行多次
3.拦截路径配置:
和Servlet的路径配置规则一致
完全路径匹配
/aaa /aa/aaa
目录匹配
/* /aaa/* /aaa/bbb/*
扩展名匹配
*.xxx
和Servlet不同,Filter的拦截路径没有优先级,Filter的匹配路径相同时,所有符合规则的Filter都会执行。
4.拦截方式
注解配置:
设置dispatcherTypes属性
1. REQUEST:默认值。浏览器直接请求资源,新的请求到来时拦截
2. FORWARD:转发访问资源。只有转发的请求才会拦截。
web.xml配置
<filter-mapping>
<filter-name>demo1</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
Filter过滤器的编写及其配置
最新推荐文章于 2025-05-14 08:33:41 发布