HttpServletRequest中获取body参数
时间: 2023-07-27 07:11:21 浏览: 57
在HttpServletRequest中获取body参数,需要通过获取请求的输入流,然后读取输入流中的内容来获取。以下是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.servlet.http.HttpServletRequest;
public class RequestBodyReader {
public static String getBodyString(HttpServletRequest request) throws IOException {
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;
try {
InputStream inputStream = request.getInputStream();
if (inputStream != null) {
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
char[] charBuffer = new char[128];
int bytesRead = -1;
while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
stringBuilder.append(charBuffer, 0, bytesRead);
}
} else {
stringBuilder.append("");
}
} catch (IOException ex) {
throw ex;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ex) {
throw ex;
}
}
}
return stringBuilder.toString();
}
}
```
这个方法将HttpServletRequest对象作为参数传递,并返回请求body的字符串。使用这个方法,你就可以在servlet或者其他类中获取请求body的内容。