java后台接收form表单jsonxml请求数据

mac2023-06-09  24

这儿只写两个常用的三种接收方式

我们用得最多的应该属于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); }

 

最新回复(0)