ContentNegotiatingViewResolver vs. HttpMessageConverter+ResponseBody Annotation

之前一直在用@ResponseBody注解的方式进行restful开发,在看书的时候又看到了ContentNegotiatingViewResolver,顿时就疑惑了,这两个东西的功能不是重复了吗?在网上搜索一番,也没有结果,最后google+spring文档,终于明白了,这里解释一下。

ContentNegotiating 是将controller的返回结果委托给ViewResolver,这里你可以使用spring内置的各种ViewResolver或者定制自己的,所以json的返回数据,将展示在一个页面中!也就是说除了json的数据,也可以有其他的html元素,是一个完整的试图。

而@ResponseBody注解则会绕过ViewResolver,将controller的返回结果交给HttpMessageConverter,然后将转换后的消息返回,也即是返回的是纯数据。

时间: 2024-11-08 22:12:46

ContentNegotiatingViewResolver vs. HttpMessageConverter+ResponseBody Annotation的相关文章

Spring框架文档与API(4.3.6版本)

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ Table of Contents I. Overview of Spring Framework 1. Getting Started with Spring 2. Introduction to the Spring Framework 2.1. Dependency Injection and Inversion of Contr

SpringMVC -- 尚硅谷笔记

Spring MVC框架 ------------ springmvc-1 ------------ web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi

Note_JavaWeb_SpringMVC_尚硅谷

Spring MVC框架 官网文档 \spring-framework-4.2.6.RELEASE\docs\spring-framework-reference\htmlsingle ------------ springmvc-1 ------------ web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/

Supported method argument types Spring MVC

Supported method argument types The following are the supported method arguments: Request or response objects (Servlet API). Choose any specific request or response type, for example ServletRequest or HttpServletRequest. Session object (Servlet API):

[@Controller]3 详解@CookieValue,@PathVariable,@RequestBody,@RequestHeader,@RequestParam

[@Controller]3 详解@CookieValue,@PathVariable,@RequestBody,@RequestHeader,@RequestParam 转载:http://blog.sina.com.cn/s/blog_6d3c1ec601017q4l.html 下列参数一般都和@RequestMapping配合使用.   A.@CookieValue org.springframework.web.bind.annotation.CookieValue public @in

SpringMVC源码剖析5:消息转换器HttpMessageConverter与@ResponseBody注解

转自 SpringMVC关于json.xml自动转换的原理研究[附带源码分析] 本系列文章首发于我的个人博客:https://h2pl.github.io/ 欢迎阅览我的CSDN专栏:Spring源码解析 https://blog.csdn.net/column/details/21851.html 部分代码会放在我的的Github:https://github.com/h2pl/ 目录 前言 现象 源码分析 实例讲解 关于配置 总结 参考资料 前言 SpringMVC是目前主流的Web MVC

httpmessageconverter requestbody responsebody

@ResponseBody @RequestMapping("/testHttpMessageConverter") public String testHttpMessageConverter(@RequestBody String body){ System.out.println(body); return "helloworld! " + new Date(); } <form action="testHttpMessageConverter

SpringMVC处理Json-使用 HttpMessageConverter

HttpMessageConverter<T>是Spring3.0新添加的一个重要接口,它负责将请求信息转换为一个对象(类型为T),将对象(类型为T)输出为响应信息. DispatcherServlet默认已安装了AnnotationMethodHandlerAdapter作为HandlerAdapter的组件实现类,HttpMessageConverter即由AnnotationMethodHandlerAdapter使用,将请求信息转换为对象,或将对象转换为相应信息.(处理器适配器使用Ht

Spring MVC HttpMessageConverter&lt;T&gt;

SpringMVC 处理 JSON 由于现在我们使用 Ajax 的机会非常多,所以我们有必要来看一下 SpringMVC 是如何处理 JSON 格式的数据的. 我们先来看一个处理 JSON 的程序,再来分析它其中的原理 创建 Employee 实体类 package com.bupt.springmvc.converter.entity; import javax.validation.constraints.Past; import org.hibernate.validator.constr