如何使用过滤器维护 request.getReader() ?

发布于 2025-01-01 13:35:35 字数 127 浏览 1 评论 0原文

在我的应用程序中添加过滤器后,我无法从控制器中的 HttpServletRequest.getReader() 读取任何内容。

我调用 request.getParameter() 几次,但除此之外我的过滤器没有做太多事情。

After I added a filter to my app, I am not able to read anything from HttpServletRequest.getReader() in my controllers.

I am calling request.getParameter() a few times, but other than that my filter doesn't do much.

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

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

发布评论

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

评论(1

情何以堪。 2025-01-08 13:35:35

好吧,我刚刚思考了这个问题,并意识到对于 POST 请求,调用 getParameter() 可能会导致问题,因为 POST 参数通常位于请求正文中。输入流确实会被过滤器隐式打开。

在我的过滤器中(就我而言)我需要检查:

if (((HttpServletRequest) request).getMethod().equals("GET")) {...}

Okay I just thought through the problem and realized that for POST requests, calling getParameter() can cause a problem because POST params would typically be in the request body. The input stream will indeed be opened implicitly by the filter.

In my filter (and in my case) I need to check:

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