有没有人知道如何在使用RequestDispatcher.forward()时在Jersey-2.x应用程序中正确处理过滤器?
RequestDispatcher dispatcher=pCtx.getRequestDispatcher("/app2");
dispatcher.forward(request, response);
当我在使用Jersey-2.5 +的两个webapp之间进行转发时,正在重定向到的webapp包含请求过滤器。在执行转发时应该调用它们(比如直接请求应用程序时),但不是。
有几个帖子做了大纲,将<filter-mapping>
元素与web.xml中的<dispatcher>
标记一起使用,例如here。但这对我来说就像javax servlet过滤器一样,如果可能的话,我不知道如何包含它。
有没有办法用Jersey-2.x过滤器实现相同的目标?
更新
我的ContainerRequestFilter
是后匹配过滤器,因为它们未使用@PreMatching
进行注释
答案 0 :(得分:0)
正如我发现的那样,RequestFilter
实际上是被调用的。我没有意识到这是错误的。真正没有被调用的是tomcat容器认证,如realm
。但这对我来说很清楚,因为当任何应用程序处理请求时我们已经通过了tomcat层。