阅读HTTPServletRequest的POST正文,然后在Tomcat中调用getParameter

阅读HTTPServletRequest的POST正文,然后在Tomcat中调用getParameter,第1张

阅读HTTPServletRequest的POST正文,然后在Tomcat中调用getParameter

正如@caskey所建议的那样,可能的解决方案是使用反射将可重播的输入缓冲区替换为输入缓冲区。但是我没有使用那种方法,因为它很顽皮。

相反,我在一个过滤器中创建了一个请求包装器,该过滤器将输入流读入一个字节数组,并返回一个新的数组,该数组

InputStream
内部使用一个
ByteArrayInputStream
围绕该数组的所有
getInputStream
调用。

在将输入流读取到字节数组之后,我通过解析有效负载来创建参数映射。我合并了超类的参数映射,以支持带有查询参数的GET案例。我已重写所有getParameter
*()方法以使用此参数映射。

我曾经

apache.axis.utils.IOUtils.readFully
很容易地将流读入字节数组。而且我目前正在使用
javax.servlet.http.HttpUtils.parsePostData
将数据解析为参数映射。
HttpUtils.parsePostData
实际上已被弃用,因此当我找到它时,可能会用更好的版本替换它。

但这有效,是的!



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5442378.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存