java - 通过 WebApplicationContext 访问 Filter 对象

标签 java spring jakarta-ee servlets servlet-filters

我想在根据 web.xml 定义添加 Filter 对象后调用该对象的方法。我得到的只是一个 WebApplicationContext 对象(我们称它为:wac)。

  • 我可以通过以下方式添加新的 Filter 对象:wac.getServletContext().addFilter("otherfilter", otherFilter);

  • 另外,我可以通过以下方式成功测试它的存在:wac.getServletContext().getFilterRegistration("myfilter")

但是我如何访问(并可能修改)之前添加的 Filter 对象?

最佳答案

我不确定如何完全按照您的意愿去做,但这个问题通常可以使用不同的方法来解决。

您可以在您的应用程序上下文中将您的Filter 声明为一个bean,然后注册一个DelegatingFilterProxy。在 web.xml 中将过滤委托(delegate)给您的过滤器。

在这种情况下,您的过滤器将是一个普通的 Spring bean,您将能够像访问任何其他 bean 一样访问它。

关于java - 通过 WebApplicationContext 访问 Filter 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22384297/

相关文章:

java - 如何在 Java8 流/过滤器中使用非最终变量?

java - 如何在 Spring MVC 中填充下拉框

java - 对于 Jhipster 生成的项目,H2 表未显示在 IntelliJ 中

java - Heroku java.lang.UnsupportedClassVersionErrorUnsupported Major.minor 版本 51.0

JavaEE全局捕获运行时异常

java - java中的泛型和继承

java - MongoDB Java 列出所有数据库用户

java - 如何使用 java 安全地验证服务器套接字?

java - SPRING MVC 3.2.2 + SPRING SECURITY 3.1.3 不兼容 java.lang.IncompleteClassChangeError

spring - @Scheduled 线程是否终止?