Springmvc ResponseBody响应json数据实现过程

时间:2021-05-20

该注解用于将 Controller 的方法返回的对象,通过 HttpMessageConverter 接口转换为指定格式的数据如:json,xml 等,通过 Response 响应给客户端

示例

需求:使用@ResponseBody 注解实现将 controller 方法返回对象转换为 json 响应给客户端。

前置知识点:Springmvc 默认用 MappingJacksonHttpMessageConverter 对json数据进行转换,需要加入jackson 的包。

注:2.7.0以下的版本用不了

jsp代码

<!-- 测试异步请求 --> <input type="button" value="测试ajax请求json和响应json" id="testJson"/><script type="text/javascript"src="${pageContext.request.contextPath}/js/jquery.min.js"></script> <script type="text/javascript">$(function(){ $("#testJson").click(function(){ $.ajax({ type:"post", url:"${pageContext.request.contextPath}/testResponseJson", contentType:"application/json;charset=utf-8", data:JSON.stringify({"id":1,"name":"test","money":999.0}), dataType:"json", success:function(data){ alert(data); } }); });})</script>

控制器代码

/*** 响应 json 数据的控制器* @author 黑马程序员* @Company http:/@Controller("jsonController")public class JsonController { /** * 测试响应 json 数据 */ @RequestMapping("/testResponseJson") public @ResponseBody Account testResponseJson(@RequestBody Account account) { System.out.println("异步请求:"+account); return account; } }

配置json转换器

如果不使用注解驱动<mvc:annotation-driven />,就需要给处理器适配器配置json转换器

在springmvc.xml配置文件中,给处理器适配器加入json转换器:

<!--处理器适配器 --><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean> </list> </property></bean>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章