【问题标题】:Reading Jetty Server Request body without making it null读取 Jetty 服务器请求正文而不使其为空
【发布时间】:2016-05-09 21:05:42
【问题描述】:

我有一个 Jetty.Server.Request 对象,它是一个 HTTP 请求,我需要在多个方法中使用它的主体。

我像这样访问正文的内容 -

String contents = baseRequest.getReader().readLine();

但是,这似乎从 HTTP 请求中删除了正文。如果我再尝试像这样再次访问它 -

String contents2 = baseRequest.getReader().readLine();

contents2 将为空。

如何在不影响请求的情况下读取请求对象的正文?

【问题讨论】:

标签: jetty embedded-jetty


【解决方案1】:

根据 Servlet 规范,流只能使用一次。

自己复制一份(存入内存,或存入磁盘以供日后阅读)

这是设计使然,因为许多请求主体可能会很大,并且根本没有足够的内存来以理智的方式处理重读。

请务必查看之前的答案:

Http Servlet request lose params from POST body after read it once

因为这些答案展示了几种方法来完成对同一请求正文的多次读取。

【讨论】:

  • 祖特!欣赏信息。我想我会把它写到一个文件中。谢谢!
  • 您能帮我链接文档吗?这可能对我的其他问题有用。
猜你喜欢
  • 2020-02-10
  • 2019-10-24
  • 2023-03-25
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 2020-08-27
相关资源
最近更新 更多