实现原理 | 使用范围 | 触发时机 | 拦截的请求范围 | 注入Bean情况 | 控制执行顺序 | |
---|---|---|---|---|---|---|
过滤器 | 基于回调函数 | 依赖于Tomcat容器,只能在web程序中使用 | 进入Servlet之前 | 对所有进入容器的请求起作用 | 直接就能注入 | @Order控制执行顺序值越小级别越高 |
拦截器 | 基于Java的反射机制 | spring中的组件,由Spring容器管理 | 进入Servlet之后,进入Controller之前 | 对Controller中请求或访问static目录下的资源请求起作用 | 需要手动进行注入 | 默认按照注册顺序,也可以通过Order手动设置 |
参考链接:过滤器和拦截器的区别