首页 > 解决方案 > FilterRegistrationBean 和 DelegatingFilterProxy 有什么区别?

问题描述

注册过滤器的方式都是不同的,FilterRegistrationBean 提供了排序选项。DelegatingFilterProxy作为代理注册过滤器,但是FilterRegistrationBean是如何注册过滤器的呢?在 servlet 容器中注册过滤器有什么区别。

Spring boot 使用 FilterRegistrationBean 而不是 DelegatingFilterProxy 为什么?

FilterRegistrationBean 是直接将过滤器添加为 servlet 过滤器,还是也使用 DelegatingFilterProxy 之类的实现?

标签: springspring-bootspring-mvcservlet-filters

解决方案


[ DelegatingFilterProxy] 用于在您的应用程序上下文中配置 a ,并在 a或替换Filter中进行 URL 映射。web.xml它将在 中查找过滤器ApplicationContext并执行配置的Filter. 这个类也是 Spring Framework 的一部分。它本身也是一个 servlet ,Filter因为它充当.FilterApplicationContext

FilterRegistrationBean顾名思义,这是一个用于提供配置以注册实例的bean Filter。它可用于提供 URL 映射等内容。它是 Spring Boot 使用的附加配置组件,因此它可以添加Filterthis 引用的FilterRegistrationBean可以注册(或不注册!)作为过滤器链的一部分。


推荐阅读