标签:springmvc传递json json 400 415
这两天在使用SpringMVC传递JSON数据格式,出现了各种令人头大的问题,但是功夫不负有心人,最后还是解决了问题。在这里记录下来供大家参考,如有不对,还请各位大侠指正。
在SpringMVC传递JSON数据格式需要加入两个jar包:com.springsource.org.codehaus.jackson-1.4.2.jar,com.springsource.org.codehaus.jackson.mapper-1.4.2.jar。
实体JavaBean:Person 具有tname,gender,age 三个String类型的属性,在这里我们需要特别注意,Person需要一个无参构造函数,否则就会出现415代码错误。
前台ajax函数:
$.ajax({
url:"ajaxs",//注意在这里的请求路径上面不能加上“/”否则就会出现400错误,无法找到请求路径
type:"POST",
contentType: "application/json",//不加此项就会出现415错误代码
dataType:"JSON",
data:JSON.stringify({"tname":"张三","gender":"male","age":"20"}),//在这里的参数我最开始一直都使用
{"tname":"张三","gender":"male","age":"20"},结果导致一直出现400错误,表示前台到后台的数据不匹配
success:function(data,status){alert("ok");},
error:function(){alert("error");},
fail:function(){alert("fail");}
});
后台:
@RequestMapping(value="/ajaxs",method=RequestMethod.POST)
@ResponseBody
public Person ajax(@RequestBody Person p)
{
p.setTname("lisi");
System.out.println("ok");
return p;
}
在这里我不得不叹服SpringMVC的强大,仅仅使用@Requestbody和@ResponseBody就能实现javabean与JSON数据格式之前的传递。可能我们在网上查到说,在使用springMVC中使用JSON格式传递的时候需要配置一些数据转换器之类的东西,但是在SpringMVC3.X以后我们仅仅只需要一个 <mvc:annotation-driven/>就可以将各种数据转换器加入进来。
标签:springmvc传递json json 400 415
原文地址:http://blog.csdn.net/u013516966/article/details/45175019