Java 在调用servlet之前,是否可以告诉Jetty/Guice等待从请求中读取所有数据?

Java 在调用servlet之前,是否可以告诉Jetty/Guice等待从请求中读取所有数据?,java,jetty,guice,Java,Jetty,Guice,我有一个web服务,Guice管理的servlet在jetty 7上运行,请求数据通过管道传输到Jackson进行解析。是否有办法指定所有请求数据(即输入流)的字节数都等于request.getContentLength。我可以在代码中进行阻塞读取,但我想知道是否有更干净的方法 使这种类型的读取异步有一种常见的模式吗?您可以编写一个输入筛选器来读取和记录输入,然后将其提供给后续的下一个筛选器。有一个这样的例子[http://pragmaticintegration.blogspot.co.uk/

我有一个web服务,Guice管理的servlet在jetty 7上运行,请求数据通过管道传输到Jackson进行解析。是否有办法指定所有请求数据(即输入流)的字节数都等于request.getContentLength。我可以在代码中进行阻塞读取,但我想知道是否有更干净的方法


使这种类型的读取异步有一种常见的模式吗?

您可以编写一个输入筛选器来读取和记录输入,然后将其提供给后续的下一个筛选器。有一个这样的例子[http://pragmaticintegration.blogspot.co.uk/2009/02/logging-http-requests-jersey.html][http://pragmaticintegration.blogspot.co.uk/2009/02/logging-http-requests-jersey.html]

您为什么要这样做?也许有一种方法可以实现你想要的,但如果我们知道原因,它会有所帮助。你要求做的事情对我来说似乎适得其反。我们希望在jackson中使用a流,但如果jackson无法解析它,我们也会记录请求。因此,在我们的servlet中,我们将数据读入字节数组,然后将其发送给jackson。这意味着我们必须从所有servlet调用read-until-done代码。如果jetty为我们做了这件事,看起来会更干净。