这儿只写两个常用的三种接收方式
我们用得最多的应该属于form表单提交,比如页面代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Insert title here</title>
</head>
<body>
<form action="http://localhost:8080/user" method="post">
username:<input type="text" name="username" /><br>
password:<input type="password" name="password" /> <br>
<input type="submit" value="登录">
</form>
</body>
</html>
后台控制器
@Controller
public class UserController {
@PostMapping("/user")
@ResponseBody
public void add(String username,String password){
System.out.println("打印:"+username+"---->"+password);
}
}
第二种json提交,如果content-type是json,那么接收数据就需要从流里获取,话不多说,直接上代码:
/** * 从request中获取json * @param request * @return */ public String getJsonStr(HttpServletRequest request){ BufferedReader reader = null; StringBuilder sb = new StringBuilder(); try{ reader = new BufferedReader(new InputStreamReader(request.getInputStream(), "utf-8")); String line = null; while ((line = reader.readLine()) != null){ sb.append(line); } } catch (IOException e){ e.printStackTrace(); } finally { try{ if (null != reader){ reader.close(); } } catch (IOException e){ e.printStackTrace(); } } return sb.toString(); }
第三种,接收xml:
public String getXml(HttpServletRequest request) throws IOException{ BufferedReader reader = request.getReader(); String line = ""; String xmlString = null; StringBuffer inputString = new StringBuffer(); while ((line = reader.readLine()) != null) { inputString.append(line); } xmlString = inputString.toString(); request.getReader().close(); System.out.println("xml:", xmlString); }