Java Servlet解析请求体多线程

时间:2015-11-15 00:09:37

标签: java multithreading servlets jetty

我实现了一个异步Servlet,它需要解析请求体并将解析后的结果存储在缓存中。我应该在Servlet中实现public function render($request, Exception $e) { if ($e instanceof ModelNotFoundException) { $e = new NotFoundHttpException($e->getMessage(), $e); } //insert this snippet if ($this->isHttpException($e)) { $statusCode = $e->getStatusCode(); switch ($statusCode) { case '404': return response()->view('error', array(), 404); } } return parent::render($request, $e); } 函数还是实现一个新类,它将进行解析?什么是最佳做法?

以下是我目前的代码段:

parseBody()

感谢。

1 个答案:

答案 0 :(得分:0)

使用Servlet 3.1中引入的HttpServletRequest.getInputStream().setReadListener(ReadListener)概念完成异步请求主体读取

您只会根据ReadListener中的事件阅读,而您只会阅读不足以阻止。 (所以没有读取多兆字节的缓冲区!)。

此API正是您所需要的,但there be land mines here,所以请确保在完成之前完全了解API。