阅读量:9
在Servlet中,可以通过HttpServletRequest对象的方法来接收POST请求的数据。
- 获取HttpServletRequest对象:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取HttpServletRequest对象 // ... }
- 获取POST请求参数:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取POST请求参数 String param1 = request.getParameter("param1"); // 根据参数名获取单个参数的值 String[] param2 = request.getParameterValues("param2"); // 根据参数名获取多个参数的值 // ... }
在上面的代码中,getParameter()
方法用于获取单个参数的值,getParameterValues()
方法用于获取多个参数的值。这些方法的参数是请求参数的名称。
- 获取POST请求的Body中的数据:
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是二进制数据(如文件上传),则需要使用其他方式来处理。