在Servlet中,可以通过HttpServletRequest对象的方法来接收POST请求的数据。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取HttpServletRequest对象
// ...
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取POST请求参数
String param1 = request.getParameter("param1"); // 根据参数名获取单个参数的值
String[] param2 = request.getParameterValues("param2"); // 根据参数名获取多个参数的值
// ...
}
在上面的代码中,getParameter()
方法用于获取单个参数的值,getParameterValues()
方法用于获取多个参数的值。这些方法的参数是请求参数的名称。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取POST请求的Body中的数据
String requestBody = request.getReader().lines()
.reduce("", (accumulator, actual) -> accumulator + actual); // 将请求Body中的数据拼接成字符串
// ...
}
以上代码使用getReader()
方法获取请求的BufferedReader
对象,然后使用lines()
方法逐行读取数据,并使用reduce()
方法将每行数据拼接成一个字符串。
需要注意的是,以上代码只适用于请求Body中的数据是文本格式的情况。如果请求Body是二进制数据(如文件上传),则需要使用其他方式来处理。