`
zxc3375
  • 浏览: 135990 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring MVC之返回JSON数据(Spring3.0 MVC)

阅读更多

spring MVC之返回JSON数据(Spring3.0 MVC)

http://fhd001.iteye.com/blog/1136428
----------
我们在本示例中,使用Spring3.0 MVC, Spring 3.0 MVC已经支持JSON了。

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

1.首先加入两个jar依赖,这里以maven构建为例:

    <dependency> 
        <groupId>org.codehaus.jackson</groupId> 
        <artifactId>jackson-core-asl</artifactId> 
        <version>1.8.4</version> 
    </dependency> 
    <dependency> 
        <groupId>org.codehaus.jackson</groupId> 
        <artifactId>jackson-mapper-asl</artifactId> 
        <version>1.8.4</version> 
    </dependency>  

 
这是spring MVC处理json数据时,所必须的jar依赖。

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

这里我们使用的是spring mvc的注解,如例:

 

 

    <context:component-scan base-package="com.hundsun.twioo.business.action" /> 
    <bean class="org.springframework.web.servlet.mvc.annotation. 
        DefaultAnnotationHandlerMapping" /> 
    <bean class="org.springframework.web.servlet.mvc.annotation. 
        AnnotationMethodHandlerAdapter" > 
        <property name="messageConverters"> 
            <util:list id="beanList"> 
                <ref bean="mappingJacksonHttpMessageConverter"/> 
            </util:list> 
        </property> 
    </bean> 
    <bean id="mappingJacksonHttpMessageConverter" class="org.springframework. 
        http.converter.json.MappingJacksonHttpMessageConverter"> 
        <property name="supportedMediaTypes"> 
            <list> 
                <value>text/html;charset=UTF-8</value> 
            </list> 
        </property> 
    </bean> 
    <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上的注解使用
如例:

 

    @Controller 
    @RequestMapping("/logins") 
    public class LoginController { 
     
        @Autowired 
        private LoginManagerService loginManagerService; 
        @Autowired 
        private PermitManagerService permitManagerService; 
        private Logger log = Logger.getLogger(LoginController.class); 
         
         
        /**
         * 用户登录系统
         * @return
         */ 
        @RequestMapping(value="/login") 
        public ModelAndView login(HttpServletRequest request,HttpSession session){ 
             
            User user = null; 
            List<Module> moduleList = null; 
            try { 
                //TwiooID 
                Integer twiooId = ServletRequestUtils.getIntParameter(request, "twiooId");  
                //群ID 
                Integer groupId = ServletRequestUtils.getIntParameter(request, "groupId");  
                user = loginManagerService.login(twiooId, 3); 
                if(null != user){ 
                    moduleList = permitManagerService.findPermit(user.getId()); 
                } 
                session.setAttribute("user", user); 
                session.setAttribute("permit", moduleList); 
                session.setAttribute("twiooId", twiooId); 
                session.setAttribute("groupId", groupId); 
            } catch (Exception e) { 
                e.printStackTrace(); 
                log.error("LoginController.login() execute error!!!"); 
            } 
            System.out.println("login..................."); 
            return new ModelAndView("index"); 
        } 
         
         
        /**
         * 用户退出系统
         * @return
         */ 
        @RequestMapping(value="/exit") 
        public ModelAndView exit(HttpServletRequest request,HttpSession session){ 
             
            session.removeAttribute("user"); 
            session.removeAttribute("permit"); 
            session.removeAttribute("twiooId"); 
            session.removeAttribute("twiooId"); 
            System.out.println("exit...................."); 
            return new ModelAndView("index"); 
        } 
         
         
        /**
         * 测试返回JSON数据
         * @param session
         * @return
         */ 
        @RequestMapping(value="/test") 
        @ResponseBody 
        public Object test(HttpSession session){ 
             
            System.out.println("test...................."); 
            return session.getAttribute("permit"); 
        } 
         
         
     
        public LoginManagerService getLoginManagerService() { 
            return loginManagerService; 
        } 
        public void setLoginManagerService(LoginManagerService loginManagerService) { 
            this.loginManagerService = loginManagerService; 
        } 
        public PermitManagerService getPermitManagerService() { 
            return permitManagerService; 
        } 
        public void setPermitManagerService(PermitManagerService permitManagerService) { 
            this.permitManagerService = permitManagerService; 
        } 
    }  

 注意: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)

    2. **配置 Spring MVC**:在 Spring MVC 的配置文件中,我们需要添加 `Jackson` 的转换器,使得 Spring MVC 能够解析和生成 JSON 数据。例如,在使用 XML 配置时,可以添加以下配置: ```xml &lt;bean class="org....

    spring3.0 mvc和rest入门例子

    Spring 3.0 MVC 和 REST 是 Java Web 开发中的重要组成部分,它们为构建现代、高效的应用程序提供了强大的框架支持。本文将深入探讨这两个概念以及如何通过一个入门实例来理解它们。 Spring MVC(Model-View-...

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

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

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

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

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...

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

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

    Spring3 MVC Ajax with JSON

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

    用Spring MVC 搭建JSON 数据服务器

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

    spring-mvc-jsonview源代码

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

    Mastering Spring MVC 4(2015.09)源码

    首先,Spring MVC 4基于Servlet 3.0规范,这意味着它可以利用异步处理能力,提高了Web应用的性能。通过AsyncSupport和AsyncConfigurer接口,开发者可以轻松地创建异步控制器,处理高并发场景。 控制器(Controller...

    springmvc操作json数据所需的jar包

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

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

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

    Spring3.0 MVC的初次尝试

    4. **MessageConverter**:Spring 3.0 引入了MessageConverter机制,自动处理HTTP请求和响应的序列化,支持JSON、XML等多种数据格式。 5. **Groovy支持**:Spring 3.0 添加了对Groovy的支持,允许在配置中使用...

    spring3.0 mvc 例子

    Spring 3.0 MVC 是一个强大的Java框架,用于构建企业级Web应用程序。在这个例子中,我们将深入探讨如何利用注解来简化Spring MVC的配置过程。注解是Java提供的一种元数据,它允许我们在代码中嵌入信息,这些信息可以...

    Struts2+Spring3.0+MyBatis3.0平台搭建spring+json+gson+mysql,经典版本spring3.0+,完整架包

    此外,Spring3.0还集成了对其他技术的支持,如数据访问(JDBC、Hibernate、MyBatis)、Web应用(Spring MVC)、消息处理(JMS)等。 MyBatis3.0是一个轻量级的持久层框架,它将SQL语句与Java代码分离,使得开发者...

    spring—mvc -json

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

Global site tag (gtag.js) - Google Analytics