Java request 获取body中得所欲参数
时间: 2023-09-16 22:16:05 浏览: 180
java 获取request中的请求参数代码详解
在 Java 中,可以使用 `HttpServletRequest` 对象的 `getInputStream()` 或 `getReader()` 方法来获取请求体的输入流或读取器,然后从中读取请求体中的参数。
下面是一个使用 `getInputStream()` 方法获取请求体参数的例子:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/api")
public class MyServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
InputStream inputStream = request.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
String requestBody = sb.toString();
System.out.println(requestBody);
}
}
```
在上面的例子中,我们获取了请求体的输入流,并使用 `BufferedReader` 读取器将其读取为字符串。这里假设请求体中的参数是一个字符串,如果是 JSON 对象或其他格式的数据,可以使用相应的库进行解析。
另外,如果请求体中的参数是表单数据,可以使用 `request.getParameter()` 方法来获取它们。例如:
```java
String name = request.getParameter("name");
String age = request.getParameter("age");
String email = request.getParameter("email");
```
这里假设表单中有名为 `name`、`age` 和 `email` 的字段。
阅读全文