源代码
https://download.csdn.net/download/qzc70919700/19930532
一、@reqeustBody和@responseBody
@responseBody作用:把后台pojo转换json对象,返回到页面。
@RequestBody作用:接受前台json数据,把json数据自动封装javaBean。
二、导入jar包
三、修改springmvc.xml在注解处理器适配器中添加json支持
<!-- 配置注解处理器适配器 功能:调用controller方法,执行controller -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<!--添加JSON支持 -->
<property name="messageConverters">
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</property>
</bean>
四、项目需求一:页面传递json类型参数
页面传递json格式的参数:
<title>Hello SpringMVC</title>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.js"></script>
<script type="text/javascript">
function requestJson(){
//模拟json格式数据
var jsonObj = JSON.stringify({"username":"张三","sex":"男","age":"18"});
$.ajax({
contentType:"application/json;charset=utf-8",
type:'POST',
url:'${pageContext.request.contextPath }/test/t1.do',
data:jsonObj,
success:function(data){
alert(data.username);
}
});
}
</script>
</head>
<body>
<h3>页面传递接json类型数据,请查看控制台</h3>
<input type="button" value="发送请求" onclick="requestJson()">
</body>
后代代码:
@RequestMapping("/t1.do")
public @ResponseBody User test1(@RequestBody User user) {
System.out.println(user);
return user;
}
五、项目需求二:后台返回json格式参数
页面代码:
<title>Hello SpringMVC</title>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.js"></script>
<script type="text/javascript">
function requestJson(){
//模拟json格式数据
var jsonObj = JSON.stringify({"username":"张三","sex":"男","age":"18"});
$.ajax({
type:'POST',
url:'${pageContext.request.contextPath }/test/t2.do',
data:'username=张三&sex=男&age=18',
success:function(data){
alert(data.username);
}
});
}
</script>
</head>
<body>
<h3>后台返回json类型数据,请查看控制台</h3>
<input type="button" value="发送请求" onclick="requestJson()">
</body>
后台代码:
@RequestMapping("/t2.do")
public @ResponseBody User test2(User user) {
System.out.println(user);
return user;
}