如何使用过滤器维护 request.getReader() ?
在我的应用程序中添加过滤器后,我无法从控制器中的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我刚刚思考了这个问题,并意识到对于 POST 请求,调用 getParameter() 可能会导致问题,因为 POST 参数通常位于请求正文中。输入流确实会被过滤器隐式打开。
在我的过滤器中(就我而言)我需要检查:
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: