注解:@Controller、@RestController、@ResponseBody区别(返回值)以及用法

@Controller注解

是Spring框架提供的注解,代表控制类(控制层/表现层)。@controller只是定义了一个控制器类,常配合@RequestMapping和@ResponseBody使用。使用@Controller返回的是前端页面,可以直接通过String跳转到jsp,html等页面(可以在视图配置控制器里配置)。

如果使用String返回的页面找不到,或者没有该页面,在访问地址之后汇报404的错误。

而如果想返回“hello.html”字符串的话,加上@ResponseBody就可以了。

@RestController注解

是spring4.0版新增的注解,@RestController=@Controller+@ResponseBody。支持RESTful访问方式,返回结果都是json字符串。

(这里使用@RestController代替了@Controller和@ResponseBody)也就是说return “hello!”,那页面返回的就是 hello!字符串。

如果需要跳转,那么返回的类型就必须是View或者ModelAndView。创建一个View或者ModelAndView的对象,然后放入一个视图(页面),接着再返回这个对象。

总结:

@RestController = @Controller + @ResponseBody

@Controller:通过String返回的是视图页面。

@ResponseBody:返回的是数据。

@RestController:返回的是json对象。也可以返回页面,但是要通过View和ModelAndView。

如果使用@Controller既要返回页面,也要返回数据,那就要加上@ResponseBody一起使用。

  • 11
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值