有了servlet filter为何spring又新增了interceptor
Servlet 的 Filter 和 Spring 的 Interceptor 虽然都用于请求拦截,但两者的设计目标、适用场景和功能特性有本质区别。Spring 引入 Interceptor 并非重复造轮子,而是为了弥补 Filter 在业务开发中的局限性。 --- ### **一、设计目标的差异** 1. **Filter(过滤器)** • **定位**:属于 Java Servlet 规范,是 Web 容器(如 Tomcat)级别的组件。 • **核心任务**:处理与 Servlet 容器相关的底层操作,如请求编码转换、全局安全过滤(XSS/SQL 注入防御)、GZIP 压缩等。 • **局限性**:无法直接访问 Spring 容器中的 Bean,对业务逻辑的细粒度控制能力较弱。 2. ...阅读全文