@RestController=@Controller+@ResponseBody

1.使用RestController时,返回到前端的内容是Return里的内容,无法返回jsp/html等页面,

此时的在application-spring.xml的配置文件中,不需要配置视图解析器

  1. <!-- 3.配置jsp 显示ViewResolver -->
  2. <bean id="viewResolver"
  3. class="org.springframework.web.servlet.view.UrlBasedViewResolver">
  4. <property name="viewClass"
  5. value="org.springframework.web.servlet.view.JstlView" />
  6. <property name="prefix" value="/WEB-INF/jsp/" />
  7. <property name="suffix" value=".jsp" />
  8. </bean>

注释:视图解析器会根据控制层返回的字符串进行解析,如果返回的是return "hello",经过解析器会自动加上前缀和后缀,变成/WEB-INF/view/hello.jsp。

2.如果需要返回指定页面,可使用@Controller,配合上述的视图解析器, 如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

@responsebody表示该方法的返回结果直接写入HTTP response body中
一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中响应给客户端。比如异步获取json数据,加上@responsebody后,会直接返回json数据。使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

  1. //控制层,使用controller
  2. @RequestMapping(value="/request")
  3. @ResponseBody
  4. public String test(){
  5.  
  6. String str = "responseBody";
  7. return str;
  8. }
  9.  
  10. //前台
  11. $.ajax({
  12. type:"post",
  13. url :"/request",
  14. dataType:"JSON",
  15. success:function(resp){
  16. if(resp){
  17. console.log(resp);
  18. }
  19. }
  20. });

最后在控制台会输出“responseBody”字符串

@Controller和@RestController的更多相关文章

  1. @Controller和@RestController的区别?

    @Controller和@RestController的区别?官方文档:@RestController is a stereotype annotation that combines @Respon ...

  2. @Controller和@RestController的区别

    1. Controller, RestController的共同点 都是用来表示spring某个类的是否可以接收HTTP请求 2.  Controller, RestController的不同点 @C ...

  3. Spring中@Controller和@RestController之间的区别

    1. Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求 2.  Controller, RestController的不同点 @C ...

  4. @Controller和@RestController之间的区别

    1. Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求 2. Controller, RestController的不同点 @Co ...

  5. @Controller和@RestController源码解析

    2018年不知不觉已经走到了尾声,你还在为分不清@Controller和@Restcontroller而烦恼吗?这篇博文从源码层面分析这两个注解,值得一读. 首先贴一张源码的图,对比一下,左边是@Co ...

  6. springmvc 中@Controller和@RestController的区别

    @Controller和@RestController的区别? 官方文档:@RestController is a stereotype annotation that combines @Respo ...

  7. @Controller 和 @RestController的区别

    @Controller 和 @RestController的区别 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配 ...

  8. @Controller和@RestController的区别(转)

    @Controller和@RestController的区别? 官方文档: @RestController is a stereotype annotation that combines @Resp ...

  9. @Controller 和 @RestController 区别

    @Controller 用于标识为spring MVC的controller @RestController 是一个便利的注解,加了这个注解就相当于加了@Controller 和 @ResponseB ...

  10. Controller和RestController的区别

    1. Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求 2.  Controller, RestController的不同点 @C ...

随机推荐

  1. H3C VLAN显示及维护

  2. asp dotnet core 支持客户端上传文件

    本文告诉大家如何在 asp dotnet core 支持客户端上传文件 新建一个 asp dotnet core 程序,创建一个新的类,用于给客户端上传文件的信息 public class Kanaj ...

  3. codeforces 677D(分层图dp)

    Codeforces 677D 传送门:https://codeforces.com/contest/677/problem/D 题意: 给你一个n*m的方格图,每个点有一个权值val,现在要求你从坐 ...

  4. Visual Studio插件【一】:前端

    JQuery Code Snippets https://github.com/kspearrin/Visual-Studio-jQuery-Code-Snippets 简单用法 jq   +tab ...

  5. 设计模式3——单例模式Singleton

    参考链接: 单例模式-菜鸟教程:https://www.runoob.com/design-pattern/singleton-pattern.html 这种类型的设计模式属于创建型模式,它提供了一种 ...

  6. 关于hibernate5的映射文件和配置文件改变(转)

    转自:https://blog.csdn.net/m0_37840000/article/details/78823716 配置文件: <!DOCTYPE hibernate-configura ...

  7. 第一次看CCControl

    Control中有九种可能的事件,定义在.h文件中,另外还定义四种状态,用来表示控件高亮等. 在初始化控件的时候: bool Control::init() { if (Layer::init()) ...

  8. wow.js 使用及效果列表

    . 基本的样式列表 具体想要什么效果官网查看就行,https://daneden.github.io/animate.css/ 当然还有几个具体的方法,就是控制移入移出的时间,如下图.

  9. 【汇编】1.汇编环境的搭建:DOSBox的安装

    前言 DOSBox是一款在windows系统运行DOS程序的环境模拟器.可以解决在64位机中汇编程序编译调试等问题. 本文以 DOSBox 0.74 为例,汇编编译程序采用MASM6. 第一步下载相关 ...

  10. 改变 windows ruby 的默认版本

    这个操作比较简单,就是调整 windows 环境变量 Path 子项的先后顺序. 原理就是:cmd 在运行命令时,先搜索当前目录,再按先后顺序搜索环境变量里边的目录. 因此,如果我们不想修改环境变量, ...