`
mic326
  • 浏览: 7573 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Spring MVC之返回JSON数据

阅读更多

我们在本示例中,使用Spring3.0 MVC, Spring 3.0 MVC已经支持JSON了。

这里我们使用基于注解的方式,也是springMVC 3.0所支持的RESTFul风格的。

 1.Spring MVC处理json数据时,所必须的jackson依赖,这里以maven构建为例:

  1. <dependency>  
  2.     <groupId>org.codehaus.jackson</groupId>  
  3.     <artifactId>jackson-core-asl</artifactId>  
  4.     <version>1.8.4</version>  
  5. </dependency>  
  6. <dependency>  
  7.     <groupId>org.codehaus.jackson</groupId>  
  8.     <artifactId>jackson-mapper-asl</artifactId>  
  9.     <version>1.8.4</version>  
  10. </dependency>  

 

2.在spring mvc的配置文件中加入配置 

  1. <context:component-scan base-package="com.hundsun.twioo.business.action" />  
  2. <bean class="org.springframework.web.servlet.mvc.annotation.  
  3.     DefaultAnnotationHandlerMapping" />  
  4. <bean class="org.springframework.web.servlet.mvc.annotation.  
  5.     AnnotationMethodHandlerAdapter" >  
  6.     <property name="messageConverters">  
  7.         <util:list id="beanList">  
  8.             <ref bean="mappingJacksonHttpMessageConverter"/>  
  9.         </util:list>  
  10.     </property>  
  11. </bean>  
  12. <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.  
  13.     http.converter.json.MappingJacksonHttpMessageConverter">  
  14.     <property name="supportedMediaTypes">  
  15.         <list>  
  16.             <value>text/html;charset=UTF-8</value>  
  17.         </list>  
  18.     </property>  
  19. </bean>  
  20. <context:annotation-config/>  

 

注意:org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter的Bean配置中,我们加入了messageConverters属性,在该属性中我们有配置mappingJacksonHttpMessageConverter这个Bean,它就是用来处理json数据转换的。

在mappingJacksonHttpMessageConverter的Bean配置中,我们有一个supportedMediaTypes属性,在这个属性

中我们添加了text/html;charset=UTF-8这个值,它是为了处理返回的json数据的编码,默认是ISO-88859-1的,这里我们把它设置为UTF-8,如果有乱码的情况,我们只需要修改这里就可以了。

 

3.控制器Controller上的注解使用

  1. @Controller  
  2. @RequestMapping("/logins")  
  3. public class LoginController {  
  4.   
  5.     @Autowired  
  6.     private LoginManagerService loginManagerService;  
  7.     @Autowired  
  8.     private PermitManagerService permitManagerService;  
  9.     private Logger log = Logger.getLogger(LoginController.class);  
  10.       
  11.       
  12.     /** 
  13.      * 用户登录系统 
  14.      * @return 
  15.      */  
  16.     @RequestMapping(value="/login")  
  17.     public ModelAndView login(HttpServletRequest request,HttpSession session){  
  18.           
  19.         User user = null;  
  20.         List<Module> moduleList = null;  
  21.         try {  
  22.             //TwiooID  
  23.             Integer twiooId = ServletRequestUtils.getIntParameter(request, "twiooId");   
  24.             //群ID  
  25.             Integer groupId = ServletRequestUtils.getIntParameter(request, "groupId");   
  26.             user = loginManagerService.login(twiooId, 3);  
  27.             if(null != user){  
  28.                 moduleList = permitManagerService.findPermit(user.getId());  
  29.             }  
  30.             session.setAttribute("user", user);  
  31.             session.setAttribute("permit", moduleList);  
  32.             session.setAttribute("twiooId", twiooId);  
  33.             session.setAttribute("groupId", groupId);  
  34.         } catch (Exception e) {  
  35.             e.printStackTrace();  
  36.             log.error("LoginController.login() execute error!!!");  
  37.         }  
  38.         System.out.println("login...................");  
  39.         return new ModelAndView("index");  
  40.     }  
  41.       
  42.       
  43.     /** 
  44.      * 用户退出系统 
  45.      * @return 
  46.      */  
  47.     @RequestMapping(value="/exit")  
  48.     public ModelAndView exit(HttpServletRequest request,HttpSession session){  
  49.           
  50.         session.removeAttribute("user");  
  51.         session.removeAttribute("permit");  
  52.         session.removeAttribute("twiooId");  
  53.         session.removeAttribute("twiooId");  
  54.         System.out.println("exit....................");  
  55.         return new ModelAndView("index");  
  56.     }  
  57.       
  58.       
  59.     /** 
  60.      * 测试返回JSON数据 
  61.      * @param session 
  62.      * @return 
  63.      */  
  64.     @RequestMapping(value="/test")  
  65.     @ResponseBody  
  66.     public Object test(HttpSession session){  
  67.           
  68.         System.out.println("test....................");  
  69.         return session.getAttribute("permit");  
  70.     }  
  71.       
  72.       
  73.   
  74.     public LoginManagerService getLoginManagerService() {  
  75.         return loginManagerService;  
  76.     }  
  77.     public void setLoginManagerService(LoginManagerService loginManagerService) {  
  78.         this.loginManagerService = loginManagerService;  
  79.     }  
  80.     public PermitManagerService getPermitManagerService() {  
  81.         return permitManagerService;  
  82.     }  
  83.     public void setPermitManagerService(PermitManagerService permitManagerService) {  
  84.         this.permitManagerService = permitManagerService;  
  85.     }  
  86. }  

注意:test()方法上,我们使用了一个@ResponseBody的注解,Spring3.0 MVC @ResponseBody的作用是把返回值直接写到HTTP response body里。 test()这个方法就是我们这里关注的地方,它就是返回json数据到客户端去的。还要注意,这个test()方法返回的是Object(这里可以是任意类型),而不ModelAndView。 

分享到:
评论

相关推荐

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

    在Spring MVC框架中,开发Web应用时经常需要将对象转换为JSON格式的数据并返回给客户端。然而,在处理敏感数据时,我们可能希望对这些数据进行脱敏,即隐藏或替换某些字段,以保护用户隐私或者确保数据安全性。本文...

    Spring MVC 学习笔记 九 json格式的输入和输出

    在这个学习笔记中,我们将深入探讨如何在Spring MVC中处理JSON格式的数据,包括输入和输出。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于前后端数据传输。 1. **JSON格式简介** ...

    spring mvc(整合了json)

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

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

    在Spring MVC中,为了将Java对象转换成JSON格式并返回给客户端,我们需要依赖于JSON库。在提供的信息中,提到了`jackson-all-1.9.x.jar`系列的包,这是Jackson库的一个早期版本。Jackson是一个非常流行的JSON处理库...

    四. Spring MVC 3 支持json及 常见错误解决

    在Spring MVC 3中,对JSON的支持是其重要的特性之一,它使得前后端数据交互更加便捷,尤其在如今的Web应用中,JSON已经成为数据传输的标准格式。本篇将深入探讨Spring MVC 3对JSON的支持以及解决常见错误的方法。 ...

    spring mvc json&&jackson jquery js

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

    详解Spring MVC3返回JSON数据中文乱码问题解决

    总的来说,解决Spring MVC3返回JSON数据中文乱码的问题,关键在于正确设置字符编码。无论是使用Java的PrintWriter直接写入UTF-8编码的数据,还是先将数据编码为GBK后写入到ServletOutputStream中,又或者是在框架...

    用Spring MVC 搭建JSON 数据服务器(二)

    在本教程中,我们将深入探讨如何使用Spring MVC框架构建一个返回JSON格式数据的服务器。首先,这个项目涉及的技术栈包括Spring MVC、JDBC、JSON以及Gson。Spring MVC是Spring框架的一部分,它允许我们构建RESTful ...

    用Spring MVC 搭建JSON 数据服务器

    在这个过程中,我们将学习如何使用 Spring MVC 来创建一个返回 JSON 格式数据的服务器,以及如何在 Android 应用中消费这些数据。 ### 第一部分:环境准备 1. **Eclipse Neon**:这是一个集成开发环境,用于编写 ...

    Spring3 MVC Ajax with JSON

    这个项目提供的示例工程应该包含了一个工作流程的完整实例,从Ajax请求到Spring MVC的处理,再到JSON响应的返回,帮助开发者理解并掌握这一技术栈的使用。通过深入研究和实践,你将能够熟练地在自己的项目中应用这些...

    spring-mvc-jsonview源代码

    当返回类型为@RequestBody或@ResponseBody时,Spring MVC会自动将返回的对象转换为JSON,发送到客户端。 三、源代码分析 1. pom.xml:项目依赖管理文件,包含了Spring MVC、Jackson库和其他相关依赖。例如,添加...

    三个必备json包并附上spring mvc 返回json的配置

    最近在整spring mvc 返回json的配置,网上搜集整理了一下,觉得蛮有用的就共享出来,三个必备json包并附spring mvc 返回json的配置,此包有两个版本json包,一个2.6一个2.2

    springmvc操作json数据所需的jar包

    在Spring MVC框架中,处理JSON数据是Web应用开发中的常见任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得前后端数据交互变得更加简单和直观。本篇文章将详细讲解在Spring MVC中如何...

    spring mvc返回json几个包 jackson1.9.13

    总有4个包 jackson-core-asl-1.9.13.jar jackson-core-lgpl-1.9.13 jackson-mapper-asl-1.9.13 jackson-mapper-lgpl-1.9.13

    SpringMVC返回JSON数据相关Jar包

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

    spring—mvc -json

    本示例提供了一个完整的返回JSON数据的接口的Spring MVC Demo,帮助开发者理解如何在Spring MVC应用中实现JSON序列化和反序列化。 首先,我们需要了解JSON的基本结构。JSON是一种轻量级的数据交换格式,它基于...

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

    总的来说,这个项目实例提供了学习和理解Spring MVC与Servlet整合,以及如何使用它们从数据库获取数据并以JSON格式返回给客户端的宝贵机会。通过分析和运行源码,开发者可以更深入地掌握这些技术,并将其应用到自己...

    Spring mvc Json处理实现流程代码实例

    本文将深入探讨Spring MVC中JSON处理的实现流程,包括接收JSON参数和返回JSON响应。 1. **接收JSON参数** 当前端(如浏览器)向服务器发送JSON数据时,Spring MVC 提供了多种接收方式。一种是通过`...

    spring mvc json学习

    在本文中,我们将深入探讨“Spring MVC JSON学习”这一主题,重点关注如何在Spring MVC应用中处理JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁性和易读性而被广泛应用。 ...

    spring mvc拦截器过滤json中的null值

    在Spring MVC框架中,我们经常需要处理JSON数据,这些数据可能包含null值。在某些情况下,为了保持数据的整洁和避免后端处理null值时出现异常,我们需要在数据传输前过滤掉这些null值。本教程将详细介绍如何使用...

Global site tag (gtag.js) - Google Analytics