Springmvc如何通过ResponseBody实现JSON数据返回?

2026-05-15 23:171阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计454个文字,预计阅读时间需要2分钟。

Springmvc如何通过ResponseBody实现JSON数据返回?

请注意,以下是对原创新闻内容的简写

注:将Controller的方法返回的对象,通过HttpMessageConverter接口转换指定格式的数据(如json、xml等),通过Response响应给客户端。示例:使用@ResponseBody注解实现将controller方法返回的数据直接输出。

该注解用于将 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 www.ithiema.com * @Version 1.0 */ @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转换器:

Springmvc如何通过ResponseBody实现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>

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

本文共计454个文字,预计阅读时间需要2分钟。

Springmvc如何通过ResponseBody实现JSON数据返回?

请注意,以下是对原创新闻内容的简写

注:将Controller的方法返回的对象,通过HttpMessageConverter接口转换指定格式的数据(如json、xml等),通过Response响应给客户端。示例:使用@ResponseBody注解实现将controller方法返回的数据直接输出。

该注解用于将 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 www.ithiema.com * @Version 1.0 */ @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转换器:

Springmvc如何通过ResponseBody实现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>

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