多个Filter Interceptor 执行顺序:
测试
- Interceptor1被拦截,对应虚线①,返回第二个过滤器的后处理的内容。
2021-04-29 00:03:38.478 INFO 16036 --- [nio-8080-exec-1] indi.huishi.admin.servlet.MyFilter : filter1工作前
2021-04-29 00:03:38.478 INFO 16036 --- [nio-8080-exec-1] indi.huishi.admin.servlet.MyFilter2 : filter2工作前
2021-04-29 00:03:38.494 INFO 16036 --- [nio-8080-exec-1] i.h.admin.interceptor.LoginInterceptor : 1preHandle: /form/uploadFile.html
未登录
2021-04-29 00:03:38.822 INFO 16036 --- [nio-8080-exec-1] indi.huishi.admin.servlet.MyFilter2 : filter2工作后
2021-04-29 00:03:38.822 INFO 16036 --- [nio-8080-exec-1] indi.huishi.admin.servlet.MyFilter : filter1工作后
- Interceptor2被拦截,对应虚线②,返回执行第1个拦截器的AfterCompletion方法.
2021-04-29 00:12:38.864 INFO 16036 --- [nio-8080-exec-1] indi.huishi.admin.servlet.MyFilter : filter1工作前
2021-04-29 00:12:38.864 INFO 16036 --- [nio-8080-exec-1] indi.huishi.admin.servlet.MyFilter2 : filter2工作前
2021-04-29 00:12:38.864 INFO 16036 --- [nio-8080-exec-1] i.h.admin.interceptor.LoginInterceptor : 1preHandle: /form/uploadFile.html
2021-04-29 00:12:38.864 INFO 16036 --- [nio-8080-exec-1] i.h.admin.interceptor.TestInterceptor2 : 2preHandle: /form/uploadFile.html
未登录
2021-04-29 00:12:38.890 INFO 16036 --- [nio-8080-exec-1] i.h.admin.interceptor.LoginInterceptor : 1afterCompletion: /form/uploadFile.html
2021-04-29 00:12:38.890 INFO 16036 --- [nio-8080-exec-1] indi.huishi.admin.servlet.MyFilter2 : filter2工作后
2021-04-29 00:12:38.890 INFO 16036 --- [nio-8080-exec-1] indi.huishi.admin.servlet.MyFilter : filter1工作后
- filter1被拦截,对应虚线③:因为第一个过滤器就被return,肯定不会执行后面的内容
2021-04-29 00:19:40.021 INFO 16036 --- [nio-8080-exec-3] indi.huishi.admin.servlet.MyFilter : filter1工作前
- filter2被拦截,对应虚线④:过第二个过滤器被return,返回第1个过滤器的后处理的内容。不会执行后面拦截器。
2021-04-29 00:24:56.380 INFO 16036 --- [nio-8080-exec-5] indi.huishi.admin.servlet.MyFilter : filter1工作前
2021-04-29 00:24:56.380 INFO 16036 --- [nio-8080-exec-5] indi.huishi.admin.servlet.MyFilter2 : filter2工作前
2021-04-29 00:24:56.380 INFO 16036 --- [nio-8080-exec-5] indi.huishi.admin.servlet.MyFilter : filter1工作后
- 都没有被拦截,对应实线⑤ 的顺序。
2021-04-29 00:32:00.819 INFO 16036 --- [nio-8080-exec-8] indi.huishi.admin.servlet.MyFilter : filter1工作前
2021-04-29 00:32:00.820 INFO 16036 --- [nio-8080-exec-8] indi.huishi.admin.servlet.MyFilter2 : filter2工作前
2021-04-29 00:32:00.820 INFO 16036 --- [nio-8080-exec-8] i.h.admin.interceptor.LoginInterceptor : 1preHandle: /form/uploadFile.html
2021-04-29 00:32:00.820 INFO 16036 --- [nio-8080-exec-8] i.h.admin.interceptor.TestInterceptor2 : 2preHandle: /form/uploadFile.html
2021-04-29 00:32:00.820 INFO 16036 --- [nio-8080-exec-8] i.h.admin.controller.IndexController : controller方法
2021-04-29 00:32:00.820 INFO 16036 --- [nio-8080-exec-8] i.h.admin.interceptor.TestInterceptor2 : 2postHandle: /form/uploadFile.html
2021-04-29 00:32:00.820 INFO 16036 --- [nio-8080-exec-8] i.h.admin.interceptor.LoginInterceptor : 1postHandle: /form/uploadFile.html
2021-04-29 00:32:00.823 INFO 16036 --- [nio-8080-exec-8] i.h.admin.interceptor.TestInterceptor2 : 2afterCompletion: /form/uploadFile.html
2021-04-29 00:32:00.823 INFO 16036 --- [nio-8080-exec-8] i.h.admin.interceptor.LoginInterceptor : 1afterCompletion: /form/uploadFile.html
2021-04-29 00:32:00.823 INFO 16036 --- [nio-8080-exec-8] indi.huishi.admin.servlet.MyFilter2 : filter2工作后
2021-04-29 00:32:00.823 INFO 16036 --- [nio-8080-exec-8] indi.huishi.admin.servlet.MyFilter : filter1工作后