`

(转)Spring MVC 3.0 返回JSON数据的方法

 
阅读更多

1. 直接 PrintWriter 输出
2. 使用 JSP 视图
3. 使用Spring内置的支持
// Spring MVC 配置
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
 <property name="messageConverters">
  <list>
   <bean
    class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
  </list>
 </property>
</bean>
// WEB-INF/lib 中添加
jackson-mapper-asl-1.6.4.jar
jackson-core-asl-1.6.4.jar
// Controller 中 使用:@ResponseBody 标注方法,该方法返回 Java对象(支持复杂对象),MappingJacksonHttpMessageConverter 会将对象转换为 JSON 输出

4. 自定义
// 以下是实现方法,仅仅是个演示
// 配置 BeanNameViewResolver
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
 <property name="order" value="1" />
</bean>
<bean id="jsonView" class="test.TestJsonView" />
// 实现 TestJsonView
public class TestJsonView extends AbstractView {
 @Override
 protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
         HttpServletResponse response) throws Exception {
  JsonBuilder jb = new JsonBuilder();
  PrintWriter out = response.getWriter();
  out.print(jb.encode(model));
 }
}
// 配置 View
<bean id="jsonView" class="test.TestJsonView" />
// Controller 中可以这样写:
ModelAndView mav = new ModelAndView("jsonView");
// mav.addObject ...
return mav;

5. 使用 spring-json.jar
// 就是第4种方法,但是强大的多。。。


http://hi.baidu.com/lizhm/blog/item/a197e6116f8926d4a7ef3fa7.html

分享到:
评论

相关推荐

    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_3.0实战指南

    - **与数据转换、格式化、验证框架无缝集成**:Spring MVC 3.0 可以更好地与 Spring 的数据绑定、转换和验证机制集成,提供了更加强大和灵活的数据处理能力。 - **对静态资源处理提供特殊支持**:Spring MVC 3.0 对...

    spring3.0 mvc和rest入门例子

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

    springmvc3.0所需jar绿色包

    7. **RESTful 风格的支持**:利用 HTTP 方法(GET, POST, PUT, DELETE)和 `@RequestMapping` 的路径变量,Spring MVC 3.0 提供了构建 RESTful API 的强大支持。 8. **多部分文件上传**:Spring MVC 3.0 提供了对 ...

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

    Gson是Google提供的一个库,用于在Java对象和JSON数据之间进行映射。而MySQL是一个广泛使用的开源关系型数据库管理系统,具有高性能、高可靠性以及易于管理的特点。 在提供的文件列表中,可以看到Spring的多个模块...

    springweb3.0MVC注解(附实例)

    - `@RestController`:等同于 `@Controller` 和 `@ResponseBody`,表示该控制器的所有方法都返回 JSON 或 XML 数据,而不是视图。 ##### 2. `@RequestMapping` - 用于类级别:定义请求处理类所映射的 URL。 - 用于...

    springmvc3.0

    另外,Spring MVC 3.0 引入了 ContentNegotiatingViewResolver 视图解析器,它可以自动根据请求的 Accept 头部选择最合适的视图,这对于支持多种格式的响应(如 JSON、XML)至关重要。 最后,Spring MVC 3.0 对于...

    SpringMVC3.0_Demo

    5. **内容协商**: 允许服务器根据客户端的能力返回不同格式的数据,如JSON、XML等,通过`@RequestMapping`的produces属性实现。 6. **国际化支持**: `MessageSource`接口提供国际化消息管理,使应用能适应不同地区...

    Mastering Spring MVC 4(2015.09)源码

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

    spring3.0 mvc 例子

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

    基于注解的spring_3.0.x_MVC学习笔记

    在本篇基于注解的Spring 3.0.x MVC学习笔记中,我们将深入探讨Spring MVC在3.0版本中的变化,以及如何通过注解实现快速开发。Spring 3.0.x相较于2.5版本有着显著的改进,尤其在MVC模块上,提供了更加灵活和强大的...

    spring-mvc-jquery.zip_jquery_mvc jquery_spring jquery_spring mvc

    1. **异步数据加载**:使用jQuery的$.ajax或$.getJSON函数,向Spring MVC的Controller发送请求,获取JSON格式的数据,然后动态地更新页面内容。 2. **表单验证**:在客户端使用jQuery进行表单验证,如果验证失败,...

    Spring3.0 MVC的初次尝试

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

    Spring3.0Jar包

    8. **RESTful 支持**:通过 `@RequestMapping` 注解和 HttpMessageConverters,Spring 3.0 能够轻松构建 RESTful Web 服务,提供 JSON、XML 等多种格式的数据交换。 9. **Quartz 集成**:Spring 3.0 提供了对 ...

    Spring3.0jar包

    3. **SpringMVC**:作为Spring的Web MVC框架,Spring3.0提升了其处理HTTP请求的能力,增加了ModelAndView对象的改进,支持RESTful风格的URL映射,以及@RequestBody和@ResponseBody注解,便于JSON数据的处理。...

    spring 3.0 mvc实现rest代码

    Spring 3.0 MVC 实现 REST 代码是一个关于构建基于 RESTful 风格的 Web 服务的示例。REST(Representational State Transfer)是一种架构风格,常用于设计网络应用程序,强调通过统一资源标识符(URI)来访问资源,...

    [spring 3.0] mvc 整合 restful 、maven实例 下载

    在本文中,我们将深入探讨如何在Spring 3.0中整合MVC框架与RESTful服务,并结合Maven构建项目。RESTful(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序,尤其适用于Web服务。Spring ...

    Spring3.0MVC注解+SringJdbcDaoSupport案例

    在本案例中,我们将深入探讨Spring 3.0框架的核心组件——Model-View-Controller(MVC)架构,以及如何结合使用Spring MVC注解和`SpringJdbcDaoSupport`类来构建一个高效、灵活的后端系统。Spring 3.0是Spring框架的...

    Spring3MVC注解教程.ppt

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

Global site tag (gtag.js) - Google Analytics