Controller控制器层主要用到的注解几乎都是依赖于SpringMVC框架
我们在控制器层主要用到的注解有:
一般情况下写在类上的注解
注解 | 作用 |
---|---|
@RequestMapping | 你可以使用@RequestMapping注解来将请求URL映射到整个类上或某个特定的方法上,即@RequestMapping 既可以定义在类上,也可以定义方法上 |
@Controller | @Controller用于标记在一个类上,声明此类为控制器,而且在此类中返回String类型的方法,都默认为返回前端页面的url路径,并且跳转到相应页面 |
@RestControoler | @RestController同样用于标记在一个类上,声明此类为控制器,在此类中的所具有返回对象的方法则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是return 里的内容 |
看一下我们是怎么用的
当我们访问此方法就要输入他们的联合路径(问号后面是参数)
可以这么理解 @RequestMapping注解的value值就是路径,当我们在类上添加这个注解,访问此类的方法就要在前面先加上类的@RequestMapping路径,然后在加上这个方法的@RequestMapping路径。
@RestController和@Controller的区别就在于,一个认为返回的是数据,一个认为返回的是路径。
这个是@RestController的方法的返回
这个是@Controller类中方法的返回
我们在浏览器中访问路径 localhost:8080/login
我们就来到了登录界面
下面我就说说他们的使用场景
@RequestMapping
适用于我们控制器层的Controller类和类中的方法。
@Controller
如果你的项目没有采用前后端分离这种技术,那么@Controler注解就适用于此场景,因为我们需要把数据从后端传到前端,而我们的前端就在项目里面,@Controller注解可以让我们把数据带回到我们的前端。
@ResetController
如果我们的项目采用了前后端分离,前端使用ajax请求来调用我们后端的方法,我们只需要返回数据就可以了,此时就适用于@RestController。
总结
本人才学疏浅,本文中有不到之处欢迎指正。