httpservletrequest post 取出入参
时间: 2023-06-30 12:22:17 浏览: 102
如果你想要在一个 POST 请求中获取请求体中的参数,可以按照以下步骤进行操作:
1. 从 `HttpServletRequest` 对象中获取 `InputStream`,这个输入流包含了 POST 请求体的内容。
```java
InputStream inputStream = request.getInputStream();
```
2. 从输入流中读取 POST 请求体的内容,并将其转换为字符串。
```java
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuffer buffer = new StringBuffer();
String line = null;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
String requestBody = buffer.toString();
```
在这个例子中,我们使用了 `BufferedReader` 和 `StringBuffer` 来逐行读取输入流中的内容,并将其存储在一个字符串缓冲区中。
3. 将字符串形式的请求体解析成参数。
```java
Map<String, String> parameters = new HashMap<>();
String[] pairs = requestBody.split("&");
for (String pair : pairs) {
int idx = pair.indexOf("=");
parameters.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"),
URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
}
```
在这个例子中,我们首先将请求体按照 `&` 符号分割成多个键值对,然后对每个键值对进行解码,并将其存储在一个 `Map` 对象中。
现在,你可以使用 `parameters` 对象来访问 POST 请求中的参数了。
阅读全文