java 从http读取_Java如何从HttpServletRequest中读取HTTP请求的body
时间: 2024-05-10 14:18:43 浏览: 189
java通过HttpServletRequest获取post请求中的body内容的方法
可以使用以下代码从 `HttpServletRequest` 对象中读取 HTTP 请求的 body:
```java
StringBuilder sb = new StringBuilder();
BufferedReader reader = request.getReader();
try {
String line;
while ((line = reader.readLine()) != null) {
sb.append(line).append('\n');
}
} finally {
reader.close();
}
String requestBody = sb.toString();
```
这段代码首先创建了一个 `StringBuilder` 对象 `sb`,然后使用 `request.getReader()` 方法获取一个 `BufferedReader` 对象 `reader`。接下来,通过循环读取 `reader` 中的每一行数据,并将其添加到 `sb` 中。最后,将 `sb` 转换为字符串并存储在 `requestBody` 变量中。
需要注意的是,`HttpServletRequest` 对象只能被读取一次。如果多次读取,会抛出 `IllegalStateException` 异常。
阅读全文