`

网上转载---spring mvc 之@ResponseBody详解

 
阅读更多

@ResponseBody

 

作用: 

      该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

使用时机:

      返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

1:HttpMessageConverter匹配过程:

@RequestBody注解时: 根据Request对象header部分的Content-Type类型,逐一匹配合适的HttpMessageConverter来读取数据;

@ResponseBody注解时: 根据Request对象header部分的Accept属性(逗号分隔),逐一按accept中的类型,去遍历找到能处理的HttpMessageConverter;

2补充:

MappingJacksonHttpMessageConverter 调用了 objectMapper.writeValue(OutputStream stream, Object)方法,使用@ResponseBody注解返回的对象就传入Object参数内。若返回的对象为已经格式化好的json串时,不使用@RequestBody注解,而应该这样处理:
1、response.setContentType("application/json; charset=UTF-8");
2、response.getWriter().print(jsonStr);
直接输出到body区,然后的视图为void
分享到:
评论

相关推荐

    Spring MVC之@RequestMapping详解

    《Spring MVC之@RequestMapping详解》 在Java Web开发中,Spring MVC框架因其强大的功能和灵活性而备受青睐。在处理HTTP请求时,@RequestMapping注解扮演着至关重要的角色,它负责将客户端的请求映射到控制器中的...

    Spring MVC跟jQuery和Twitter Bootstrap的结合

    **Spring MVC 框架详解** Spring MVC 是 Spring 框架的一部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)框架。Spring MVC 提供了处理HTTP请求、数据绑定、异常处理、视图渲染等功能,帮助开发者...

    spring mvc

    ### Spring MVC 教程知识点详解 #### 一、Spring MVC 概述 Spring MVC 是 Spring 框架的一部分,主要用于构建基于 Java 的 Web 应用程序。它是一种模型-视图-控制器(Model-View-Controller,MVC)设计模式的实现...

    jQuery Spring MVC

    **jQuery Spring MVC 整合详解** 在Web开发领域,jQuery 和 Spring MVC 分别是JavaScript库与后端MVC框架的代表。将两者结合使用,可以构建出高效、响应式的前端界面,同时利用Spring MVC的强大功能处理后端业务...

    Spring MVC之@RequestMapping注解详解

    Spring MVC的@RequestMapping注解是核心的控制器层注解,它用于映射HTTP请求到特定的处理方法。在本文中,我们将深入探讨这个注解的各个方面,包括它的使用场景、属性以及如何结合其他注解实现更复杂的请求处理。 ...

    pluralsight-spring-mvc-4:Spring MVC 4 Pluralsight 介绍

    **Spring MVC 4 框架详解** Spring MVC 是 Spring 框架的重要组成部分,它是一种用于构建 web 应用程序的模型-视图-控制器(MVC)框架。Spring MVC 4 是该框架的一个较新版本,它提供了许多增强功能和改进,以提升...

    spring-mvc-xml:spring mvc xml 开涛

    **Spring MVC XML详解** Spring MVC 是 Spring 框架的一部分,专门用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,帮助开发者有效地分离业务逻辑、数据处理和用户界面。在这个主题中,我们将深入探讨...

    基于jpa+hibernate+spring+spring mvc注解方式项目

    **基于JPA+Hibernate+Spring+Spring MVC注解方式项目详解** 在现代Java Web开发中,Spring框架扮演了核心角色,而Spring MVC作为其MVC(Model-View-Controller)实现,提供了强大的Web应用程序构建能力。同时,JPA...

    Spring-mvc-showcase

    《Spring MVC 展示项目详解》 Spring MVC 是 Spring 框架的重要组成部分,它是一个模型-视图-控制器(Model-View-Controller)架构,用于构建 Web 应用程序。"Spring-mvc-showcase" 是一个官方提供的 Maven 工程,...

    Spring MVC入门实例

    **Spring MVC 入门实例详解** Spring MVC 是一个基于 Java 的模型-视图-控制器(MVC)架构,是 Spring 框架的一部分,用于构建Web应用程序。它简化了开发流程,提供了强大的数据绑定、自动验证和异常处理等功能。本...

    Spring+MVC+3.0.5+Spring+3.0.5+MyBatis3.0.4全注解实例详解

    总之,本实例详解旨在帮助开发者掌握Spring、Spring MVC 3.0.5和MyBatis 3.0.4的注解使用,通过实践提升对这三个框架的理解和应用能力。通过详细阅读提供的文档,你将能够创建出一个高效、可维护的全注解Java Web...

    spring mvc 简单例子

    **Spring MVC 框架详解** Spring MVC 是 Spring 框架的一个模块,它为构建基于 Java 的 Web 应用程序提供了一个模型-视图-控制器(MVC)架构。这个框架简化了从前端到后端的数据传递和处理流程,提高了开发效率。...

    Spring MVC简单实例

    **Spring MVC 简单实例详解** Spring MVC 是 Spring 框架的一部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)架构。在这个简单的实例中,我们将深入理解如何配置和使用 Spring MVC 来创建一个基本的...

    05-Spring MVC面试题.docx

    Spring MVC框架详解 Spring MVC是基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便...

    spring mvc 快速入门深入分析

    Spring MVC 提供了多种方式来处理Ajax请求,包括使用`@ResponseBody`注解直接返回JSON或XML格式的数据。 #### 十四、多视图控制器 通过定义多个控制器类或使用`@RequestMapping`注解的不同配置来实现多视图控制。 ...

    Spring之MVC 入门实例

    **Spring MVC 入门实例详解** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)架构。本实例将帮助初学者理解如何配置和使用 Spring MVC 实现一个简单的 Web ...

    Spring MVC示例

    **Spring MVC 框架详解** Spring MVC 是 Spring 框架的一个重要模块,它用于构建基于模型-视图-控制器(Model-View-Controller)架构的 Web 应用程序。Spring MVC 提供了一个灵活的、非侵入式的机制来处理 Web 请求...

Global site tag (gtag.js) - Google Analytics