Java 如何绕过magnolia cms中的过滤链?

Java 如何绕过magnolia cms中的过滤链?,java,spring,content-management-system,servlet-filters,magnolia,Java,Spring,Content Management System,Servlet Filters,Magnolia,如何绕过所有过滤器链 我希望绕过以/web/开头的url,以便spring dispatcher可以接收它们 谢谢:)我能想到的一件事是直接从过滤器中调用DispatcherServlet服务(…)方法。如何获取dispatcher servler-它应该注册为Springbean,因此我想您可以从WebApplicationContextUtils 但这很难看。您应该更好地配置过滤器映射URL。事实上,某些筛选器不继续发送到dispatcher servlet的原因是什么?在Magnolia中

如何绕过所有过滤器链

我希望绕过以
/web/
开头的url,以便spring dispatcher可以接收它们


谢谢:)

我能想到的一件事是直接从过滤器中调用DispatcherServlet
服务(…)
方法。如何获取dispatcher servler-它应该注册为Springbean,因此我想您可以从
WebApplicationContextUtils


但这很难看。您应该更好地配置过滤器映射URL。事实上,某些筛选器不继续发送到dispatcher servlet的原因是什么?

在Magnolia中,您可以在/server/filters中的每个筛选器节点下配置旁路。。。或者直接在该节点下绕过整个链。
您还可以简单地更改web.xml中的映射,将uri从Magnolia筛选器链处理中排除,并在配置中添加到/server/webContainerResources/mappings的映射

另一个选项是在整个过滤器链上添加排除。这意味着过滤器链被完全绕过,而添加WebContainerResource映射意味着应用了一些过滤器。例如,设置Magnolia上下文的过滤器


有关更多详细信息,请参阅技术指南。

在my web.xml中,我已为blossom(magnolia模块)配置了servlet。我已经创建了一个自定义模块,试图将spring加载到magnolia中。在这个模块描述符中,我声明它是spring的servlet。我希望在magnolia过滤器链中添加一个旁路,正如您所说的完整链,以便在url以/web开头时,将请求直接发送到spring servlet,而不是blossom servlet。唯一的问题是我真的不知道怎么做。。这个方法行吗?谢谢:)FlowerDispatcherServlet是作为Magnolia呈现页面的一部分调用的,这里不涉及servlet容器。无法从外部世界访问控制器。因此,您不需要排除它们的路径。如果您打算添加一个应该可以从外部世界访问的控制器(不使用@Template或@paragration进行注释),那么我建议您将DispatcherServlet添加到模块xml文件中。您不需要将其排除在外,也不需要将其从筛选器链中调用。相关: