1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。

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

例如:

1.使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面

若返回json等内容到页面,则需要加@ResponseBody注解

@CrossOrigin
@Controller
public class FileUploadController {

//跳转到上传文件的页面
@RequestMapping(value="/gouploadimg", method = RequestMethod.GET)
public String goUploadImg() {
//跳转到 templates 目录下的 uploadimg.html
return "uploadimg";
}

//处理文件上传
@RequestMapping(value="/testuploadimg", method = RequestMethod.POST)
public @ResponseBody String uploadImg(@RequestParam("file") MultipartFile file,
HttpServletRequest request) {
System.out.println("调用文件上传方法");
String contentType = file.getContentType();
String fileName = file.getOriginalFilename();

2.@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

@CrossOrigin
@RestController /* @Controller + @ResponseBody*/
public class HospitalController {//注入Service服务对象@Autowiredprivate HospitalService hospitalService;/*** 查询所有医院信息(未分页)*/@RequestMapping(value = "findAllHospital",method = RequestMethod.GET)public  List<Hospital> findAllHospital(){List<Hospital> hospitalList= hospitalService.findAllHospital();return hospitalList;}

@RestController/@Controller/@ResponseBody相关推荐

  1. @Controller @ResponseBody @RestController的基本含义与使用方法

    @Controller 单据使用@Controller不加@ResponseBody,用于返回一个视图,该情况属于比较传统的Spring MVC应用,前后端不分离的场景. Spring回去resour ...

  2. java几个注解的作用及比较(@RestController、@Controller、@ResponseBody、@RequestBody等)

    1.@Controller 标识一个Spring类是Spring MVC controller处理器,是一种特殊化的@Component 类,习惯于和@RequestMapping绑定来使用,后者是用 ...

  3. @RestController和@Controller注解的区别

    2019独角兽企业重金招聘Python工程师标准>>> @RestController和@Controller是我们在前端控制层用在类上面的一个注解,这个我们大家都很熟悉. @Res ...

  4. 深入分析 RestController 与 Controller 的区别,你真的了解吗?

    点击关注公众号,实用技术文章及时了解 @RestController和@Controller注解 我们都知道RestController默认都只提供Rest风格接口返回值,针对不需要返回页面的Cont ...

  5. 深入分析RestController与Controller

    @RestController和@Controller注解 我们都知道RestController默认都只提供Rest风格接口返回值,针对不需要返回页面的Controller都采用RestContro ...

  6. 记一次@ResponseBody注解不生效问题

    1.需求引入 前端(postman)调用后端方法要求如下这样调用,使用raw,格式是application/json,并且要求返回json格式字符串 2.示例代码 后端可以使用如下方式接收,以及返回 ...

  7. 搭建spring boot环境并测试一个controller

    Idea搭建spring boot环境 一.新建项目 二.起步依赖 三.编写SpringBoot引导类 四.编写Controller 五.热部署 一.新建项目 1.新建project 2.选择Spri ...

  8. @ResponseBody ResponseEntity

    @ResponseBody ResponseEntity 1.产生疑问 我们知道,如果在 Controller 的某个方法上加上 @ResponseBody 注解,那么你就能拿到 json 数据. 如 ...

  9. Spring Boot 学习之Controller

    注解 用途 @Controller 处理http请求 @RestController spring 4 新加注解,@RestController = @Controller + @ResponseBo ...

最新文章

  1. 有一说一,AI 到底会不会伤害人类?
  2. 大厂来的水货CTO:低级bug被敲诈50万美元,事后删代码隐藏证据,最后收到死亡威胁...
  3. Leetcode 220. 存在重复元素 III 解题思路及C++实现
  4. mysql写法_MySQL基本语句写法
  5. 【采用】无监督核心聚类算法
  6. MySQL事务隔离级别详解
  7. GHOST光盘制作详细教程
  8. Spark RDD使用详解4--Key-Value型Transformation算子
  9. 【ArcGIS微课1000例】0001:添加XY数据(Add XY data)生成shp
  10. 【BCH码2】BCH码的快速BM迭代译码原理详解及MATLAB实现(不使用MATLAB库函数-代码见CSDN同名资源)
  11. 中文select 加载完成后再排序
  12. 10.11.5 brew mysql_Mac OS10.11下mysql5.7.12 安装配置方法图文教程
  13. 带你了解PCIE通信原理
  14. afterburner功耗限制调不了_为啥我的MSIAfterburner很多项都拖不了
  15. Git 图标无法正常显示解决方案
  16. 二阶魔方高级玩法公式
  17. 互联网黑暗森林法则:想活?别喘气儿!
  18. 牵线搭桥,『桥接模式』
  19. VBA·编译错误:ByRef参数类型不符
  20. 大学生必备:用Python实现shua课自由,又是美好的一天

热门文章

  1. Android注解使用之ButterKnife 8.0注解使用介绍
  2. 优秀ASP.NET程序员修炼之路
  3. php excel文件导出之二 图像导出
  4. 安卓开发日记(1) - 安装 Android 开发环境和 first app
  5. 安装jenkins插件的两种方法
  6. RIS镜像中添加网卡和RAID卡驱动方法及实践经验总结
  7. Delphi实现截屏功能
  8. OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程
  9. 图像处理——基于深度学习HED实现目标边缘检测
  10. VMware虚拟机中VMnet0上的网桥当前未运行