可以看到,过滤器会先触发,然后打印出所有的Filter,容器中会存在两个不同的FilterRegistrationBean。
当我访问http://localhost:8080/test/abc
时,就会触发AuthFilter这个过滤器,结果如下:
耶??为啥结果不是想象的那样??
这是因为我的UserFilter的拦截路径为/*
,而AuthFilter的拦截路径为/test/*
。
那为什么UserFilter会在AuthFilter之前执行呢?
因为/*
的拦截范围比/test/*
的范围大,可以说/test/*
是经过了/*
拦截过再进行了匹配拦截。于此同时,我在相应的FilterRegistrationBean中也设置了Filter的执行顺序。