我想在根据 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/