【问题标题】:Invoke Jersey 2.x filter chain when using RequestDispatcher.forward使用 RequestDispatcher.forward 时调用 Jersey 2.x 过滤器链
【发布时间】:2015-04-20 14:36:43
【问题描述】:

有没有人知道,当使用 RequestDispatcher.forward() 时如何在 Jersey-2.x 应用程序中正确处理过滤器?

RequestDispatcher dispatcher=pCtx.getRequestDispatcher("/app2");    
dispatcher.forward(request, response);

当我在两个使用 Jersey-2.5+ 的 webapp 之间进行转发时,被重定向到的 webapp 包含请求过滤器。它们应该在进行转发时调用(例如直接请求应用程序时),但不是。

几篇文章概述了在 web.xml 中使用带有 <dispatcher> 标签的 <filter-mapping> 元素,例如 here。但这在我看来就像 javax servlet 过滤器,如果可能的话,我不确定如何包含它。

有没有办法使用 Jersey-2.x 过滤器实现相同的效果?

更新:

我的ContainerRequestFilters 是匹配后过滤器,因为它们没有用@PreMatching 注释

【问题讨论】:

    标签: java servlets jax-rs jersey-2.0 forward


    【解决方案1】:

    我发现,RequestFilters 实际上被调用了。我没有认错。真正没有被调用的是像realm 这样的tomcat 容器身份验证。但这对我来说很清楚,因为我们已经在任何应用程序处理请求时传递了 tomcat 层。

    【讨论】:

      猜你喜欢
      • 2017-04-18
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 2015-06-19
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 2014-09-19
      相关资源
      最近更新 更多