读取Jetty Server请求正文而不使其为空

时间:2016-05-09 21:05:43

标签: jetty embedded-jetty

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

我像这样访问身体的内容 -

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

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

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

contents2将为null。

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

1 个答案:

答案 0 :(得分:0)

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

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

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

请务必查看以前的答案:

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

由于这些答案证明了完成同一请求体的多次读取的几种方法。