SpringMVC与json数据的交互
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
当请求是json数据,使用@RequestBody将json数据转化为Java对象,使用@ResponseBody将Java对象转化为json串
当请求是key/value数据,不需要@RequestBody将json数据转化为java对象(SpringMVC自动完成),使用@ResponseBody将java对象转化为json串
准备环境:
需要的jar包:jackson-core-asl-1.9.11.jar,jackson-mapper-asl-1.9.11.jar,(springmvc中使用jackson的包进行json转换, @RequestBody和 @ResponseBody使用这两个包进行json与java类的相互转化)
配置json数据转化器
在apllicationContext.xml中的处理器适配器配置
<!-- 配置控制器映射器,控制器适配器 -->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<!--配置json数据与Java类的转化器-->
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
</list>
</property>
</bean>
-->
<!-- 如果使用注解驱动则省略上面的映射器、适配器以及messageConverters的配置 -->
<mvc:annotation-driven/>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
请求:使用jQuery的Ajax发送请求和接收响应
index.jsp
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
function requestJson(){
$.ajax({
type:'post',
url:'/springmvc_mybatis_test13_json/test_Requestjson.action',
contentType:'application/json;charset=utf-8', //请求数据是json类型
data:'{"id":1,"name":"zhnagsan","sex","nan"}',//请求的数据是json串
success:function(data){ //响应成功后的回调函数
alert(data);
}
})
}
function responseJson(){
$.ajax({
type:'post',
url:'/springmvc_mybatis_test13_json/test_ResponseJson.action',
data:'id=1&name=zhangsan&sex=nan',//请求的数据是key/value
success:function(data){
alert(data);
}
})
}
</script>
</head>
<body>
<input type="button" value="请求json,响应json"/ οnclick="requestJson()"><br/><br/>
<input type="button" value="请求key/value,响应json" οnclick="responseJson()"/>
</body>
Controller.java
@Controller
public class UserController {
//@RequestBody:将json数据转化为Java类
//@ResponseBody:将Java类转化为json字符串
@RequestMapping("/test_Requestjson.action")
public @ResponseBody User test_json(@RequestBody User u){
System.out.println("aaa");
return u;
}
//请求的是key/value,不需要RequestBody转化为Java类,SpringMVC自动完成
@RequestMapping("/test_ResponseJson.action")
public @ResponseBody User test_ResponseJson(User u){
System.out.println("id="+u.getId());
System.out.println("name="+u.getName());
return u;
}
}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
3 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)