`

Spring 返回json数据

 
阅读更多

 

参考:http://www.cnblogs.com/ssslinppp/p/4528892.html

 

《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:
  1. 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1:http://www.cnblogs.com/ssslinppp/p/4528892.html 
  2. 【Spring学习笔记-MVC-4】返回Json数据-方式2:http://www.cnblogs.com/ssslinppp/p/4530002.html 
  3. 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展:http://www.cnblogs.com/ssslinppp/p/4675495.html 
文章的内容主要如下:
  1. 方式1:讲解如果返回单个对象的json;==>使用@ResponseBody来实现;注解方式
  2. 方式2:讲解如果返回多个对象的json;==>使用MappingJacksonJsonView来实现;xml配置方式
  3. 方式1-扩展:讲解如果返回多个对象的json;==>使用@ResponseBody来实现;注解方式
个人认为,使用@ResponseBody方式来实现json数据的返回比较方便,推荐使用。

 

摘要


使用Spring MVC,实现json数据的返回。
主要步骤:
  1. 额外添加2个jar包;
  2. 使用 @ResponseBody声明返回值;
  3. 配置<mvc:annotation-driven />;==>需要引入:xmlns:mvc="http://www.springframework.org/schema/mvc";

@ResponseBody:

作用: 
该注解用于将Controller方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后(如:json格式),写入到Response对象的body数据区。 
使用时机:
返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

<mvc:annotation-driven /> :

<mvc:annotation-driven /> 会自动注册
  1. DefaultAnnotationHandlerMapping
  2. AnnotationMethodHandlerAdapter 
两个bean,这两个bean是spring MVC为@Controllers分发请求所必须的。并提供了数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。

 

需要的jar包


上面两个都是必须的。
 
 
 

项目结构


 
 

程序代码


Shop.java
  1. package com.ll.model;
  2. public class Shop {
  3. String name;
  4. String staffName[];
  5. public String getName() {
  6. return name;
  7. }
  8. public void setName(String name) {
  9. this.name = name;
  10. }
  11. public String[] getStaffName() {
  12. return staffName;
  13. }
  14. public void setStaffName(String[] staffName) {
  15. this.staffName = staffName;
  16. }
  17. }

JSONController.java

  1. package com.ll.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.PathVariable;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RequestMethod;
  6. import org.springframework.web.bind.annotation.ResponseBody;
  7. import com.ll.model.Shop;
  8. @Controller
  9. @RequestMapping("/kfc/brands")
  10. public class JSONController {
  11. @RequestMapping(value="{name}", method = RequestMethod.GET)
  12. public @ResponseBody Shop getShopInJSON(@PathVariable String name) {
  13. System.out.println("-----请求json数据--------");
  14. Shop shop = new Shop();
  15. shop.setName(name);
  16. shop.setStaffName(new String[]{"mkyong1", "mkyong2"});
  17. return shop;
  18. }
  19. }

添加: @ResponseBody作为返回值。


web.xml

  1. <web-appid="WebApp_ID"version="2.4"
  2. xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  4. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  5. <display-name>Spring Web MVC Application</display-name>
  6. <context-param>
  7. <param-name>contextConfigLocation</param-name>
  8. <param-value>classpath:applicationContext.xml</param-value>
  9. </context-param>
  10. <listener>
  11. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  12. </listener>
  13. <servlet>
  14. <servlet-name>mvc-dispatcher</servlet-name>
  15. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  16. <load-on-startup>1</load-on-startup>
  17. </servlet>
  18. <servlet-mapping>
  19. <servlet-name>mvc-dispatcher</servlet-name>
  20. <url-pattern>/rest/*</url-pattern>
  21. </servlet-mapping>
  22. </web-app>

 
mvc-dispatcher-servlet.xml

  1. <beansxmlns="http://www.springframework.org/schema/beans"
  2. xmlns:context="http://www.springframework.org/schema/context"
  3. xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="
  5. http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-3.0.xsd
  9. http://www.springframework.org/schema/mvc
  10. http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
  11. <context:component-scanbase-package="com.ll.controller"/>
  12. <mvc:annotation-driven/>
  13. </beans>

开启:<mvc:annotation-driven />



applicationContext.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beansxmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context-3.0.xsd
  10. http://www.springframework.org/schema/tx
  11. http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  12. http://www.springframework.org/schema/aop
  13. http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
  14. <!-- 扫描类包,将标注Spring注解的类自动转化Bean,同时完成Bean的注入 -->
  15. <context:component-scanbase-package="com.ll.model"/>
  16. </beans>

运行



参考网站

http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/ 
 
分享到:
评论

相关推荐

    Spring返回json数据格式

    Spring返回json数据格式

    spring MVC 对 ResponseBody返回json数据进行脱敏处理

    在Spring MVC中,当控制器方法的返回值前加上`@ResponseBody`时,Spring会将返回的对象直接转换成HTTP响应体的Content,通常用于返回JSON或XML格式的数据。默认情况下,Spring MVC使用`HttpMessageConverter`来完成...

    Spring+Servlet读取数据库返回JSON数据(源码).zip

    这个“Spring+Servlet读取数据库返回JSON数据(源码).zip”文件很可能是包含了一个示例项目,展示了如何结合这两个技术来从数据库获取数据,并以JSON格式返回给客户端。 首先,让我们深入理解Spring框架中的关键...

    SpringMVC返回JSON数据相关Jar包

    在这个“SpringMVC返回JSON数据相关Jar包”中,包含了支持SpringMVC处理JSON数据所需的关键组件。 首先,我们需要理解SpringMVC如何处理JSON数据。在SpringMVC中,我们使用`@ResponseBody`注解标记在Controller方法...

    SSM 关于向前台返回json数据问题

    在SSM项目中,向前端返回JSON数据是常见的需求,这通常涉及到Controller层的配置和JSON转换库的使用。 首先,我们需要理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时...

    Spring MVC返回JSON数据 用到的jar包

    总的来说,Spring MVC结合Jackson库,能够方便地处理JSON数据,实现与前端的高效通信。在实际项目中,要根据需求选择合适的Jackson版本,并进行适当的配置和注解使用,以保证JSON数据的正确交换。

    spring-json

    "Spring-JSON"是关于Spring框架与JSON处理的相关知识点,主要涉及如何在Spring应用程序中集成和使用JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互。Spring框架提供...

    2. [视频]Spring Boot返回json数据【从零开始学Spring Boot】

    在提供的压缩包文件`spring-boot-hello1`中,可能包含了上述示例的源代码,学习者可以通过分析和运行这些代码来加深对Spring Boot返回JSON数据的理解。实践是检验理论的最好方式,通过实际操作,你可以更好地掌握...

    代码工程 Web 基础之 SSH 框架访问网页返回 json 数据简单实现的整理

    在本教程中,我们将探讨如何在SSH框架中实现通过访问网页返回JSON数据的功能,这对于现代Web应用程序的数据交互至关重要。 首先,让我们了解一下SSH框架的基本构成: 1. Struts:作为MVC(模型-视图-控制器)框架,...

    springMVC返回json数据需要的两个架包

    总结来说,`jackson-mapper-asl-1.9.13.jar`和`jackson-core-asl-1.9.13.jar`是Spring MVC返回JSON数据所必需的,它们使得Spring MVC能够通过`@ResponseBody`注解将Java对象转换为JSON格式。通过正确配置和利用...

    spring data jpa + spring + json demo

    在这个项目中,我们可以预期后端服务会返回JSON格式的数据,前端则可以使用JavaScript或者其他的前端框架(如Angular、React或Vue.js)来解析并展示这些数据。 在SpringMVC项目中,通常会包含以下组件: 1. **...

    springmvc操作json数据所需的jar包

    `@RequestBody`用于将请求体中的JSON数据映射到方法参数,而`@ResponseBody`则将方法返回的对象转换为JSON并写入响应体。 例如: ```java import org.springframework.web.bind.annotation.*; @RestController ...

    spring 统一再处理接口返回的json数据

    最近公司项目出现这样一个...在spring框架下,可以利用ResponseBodyAdvice接口,实现该接口则能够在声明了ResponseBody注解的controller返回json数据前,统一对json数据做处理,将资源地址的url统一替换为cdn资源url。

    Spring RESTful服务接收和返回JSON最佳实践

    本篇文章将深入探讨如何利用Spring创建RESTful服务,并有效地处理JSON数据的接收与返回。 首先,我们需要了解Spring MVC,它是Spring框架的一部分,专门用于构建Web应用。Spring MVC通过DispatcherServlet作为入口...

    spring mvc(整合了json)

    4. **控制器方法的编写**:在 Spring MVC 的控制器类中,我们可以定义处理 HTTP 请求的方法,并使用 `@RequestBody` 和 `@ResponseBody` 注解来接收和返回 JSON 数据。例如: ```java @RequestMapping(value = "/...

    Spring处理json,客户端处理json

    在这个场景中,我们关注的是Spring如何处理JSON数据以及客户端如何处理JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,因为它的结构清晰且易于阅读和编写。 1. **...

    json接口的spring实例(含httpclient、加密解密)

    `@RequestBody`注解用于将HTTP请求体中的JSON数据映射到方法参数,而`@ResponseBody`则指示Spring将方法返回值转化为HTTP响应体。 接下来,我们关注HTTPClient的使用。`testJsonClient`项目中,你可以使用Apache ...

    后台接口返回json数据所需jar包和配置

    在返回JSON数据的方法上添加`@ResponseBody`注解,表示该方法的返回值应该直接写入HTTP响应体,而不是作为一个视图进行渲染。 4. 使用注解进行对象映射: 你可以使用Jackson提供的注解来定制对象的序列化和反序列...

    Spring+SpringMVC+MyBatis返回json所需jar包

    在现代Web应用中,经常需要与前端交互,返回JSON数据进行数据传输。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 标题"Spring+SpringMVC+MyBatis...

    spring mvc json&&jackson jquery js

    1. **创建Controller**:定义Spring MVC的控制器类,使用`@RequestMapping`注解映射URL,并使用`@ResponseBody`返回JSON数据。 2. **配置Jackson**:在Spring配置文件中启用Jackson并配置其属性,如日期格式化。 3. ...

Global site tag (gtag.js) - Google Analytics