使用请求调度程序的 Java 过滤器 - 使用 JavaEE 6 注解

发布于 2024-12-23 04:45:27 字数 635 浏览 0 评论 0原文

我已经使用 JaveEE 6 注释为“/folder/*”创建了一个过滤器

@WebFilter("/folder/*")

,但是当我转到在 doGet 中有调用的“/test.html”时

request.getRequestDispatcher("/folder/test.jsp").forward(request, response);

,该页面不会被过滤。当在浏览器中手动访问“/folder/test.jsp”时,过滤器工作正常。使用调度程序时如何使其工作?

我找到了在多个地方创建过滤器的 xml 方式的解决方案,例如这里< /a> 或 此处 但一直无法找到使用注释的解决方案。谢谢!

I have created a filter for "/folder/*" using the JaveEE 6 Annotation

@WebFilter("/folder/*")

However when I go to "/test.html" which has a call

request.getRequestDispatcher("/folder/test.jsp").forward(request, response);

in the doGet, the page is not filtered. When going to "/folder/test.jsp" manually in the browser, the filter works fine. How can I make it work when using a dispatcher also?

I have found a solution for the xml way of creating filters multiple places such as here or here but have been unable to find a solution using annotations. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一生独一 2024-12-30 04:45:27

注释似乎有一个 dispatcherTypes 属性来支持这一点,因此以下内容应该有效:

@WebFilter(value={"/folder/*"},
           dispatcherTypes={DispatcherType.REQUEST, DispatcherType.FORWARD})

The annotations seems to have a dispatcherTypes attribute to support this, so the following should work:

@WebFilter(value={"/folder/*"},
           dispatcherTypes={DispatcherType.REQUEST, DispatcherType.FORWARD})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文