Content-Type为application/json时,假设前台传输的数据为data: {name:'wyc',age:12}
第一种情况在springmvc框架下
处理方法为前台post请求,传输过程中数据需要从json对象转成json字符串data: JSON.stringify({name:'wyc',age:12})
后台接收函数上添加@requestbody注解,并定义一个类包含name和age属性:
public class user {
String userName;
String password;
省略get和set方法
}
后台接收函数为
public 方法返回类型 方法名(@RequestBody user user);
说明@RequestBody注解最好使用对象接收,
也可以通过字符串接收,只需要定义一个变量就能接收到
public 方法返回类型 方法名(@RequestBody String data);此时data接收到数据就是{name:'wyc',age:12}(不推荐,因为还要获取里面的值,要用json转换对象等)
第二种情况在servlet下
处理方法为前台传输数据依旧需要从json对象转成json字符串data: JSON.stringify({name:'wyc',age:12})
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
BufferedReader br = request.getReader();
String str, wholeStr = "";
while((str = br.readLine()) != null){
wholeStr += str;
}
System.out.println(wholeStr);
user user= (user)JSONObject.toBean(JSONObject.fromObject(wholeStr),user.class);
System.out.println(user.getserName());
}
比较麻烦啊,先使用request.getReader();然后再转成对象user;使用request.getParamer()是接收不到的。