springboot中controller层原理(基于SpringBoot分层2开发web应用学习笔记之控制器的理解以及常见注解)
在SpringMVC中 ,控制器负责处理由DIspatchServlet接收并分发过来的请求 。它把用户请求的数据通过业务处理层封装成一个Model ,然后把该model返回给对应的View进行展示 。
Controller无需继承特定的类或实现特定的借口 。只需使用@Controller(@RestController)来标记一个控制器 ,然后用注解@RequestMapping定义URL请求和Controller方法之间的映射 ,这样Controller就能被
访问到 。并且可以包含多个请求方法 。
常用注解1.@Controller
标记在类上 ,表示的是SpringMVC的controller对象 。分发处理器将会扫描使用了该注解的类 ,并检测其中的方法是否使用了RequestMapping
2.@RestController
等价于@Controller+@ResponseBody 。直接返回字符串 ,用来标注Rest风格的控制器类
3.RequestMapping
用来处理请求地址映射的注解 ,可用在类或方法上 。如果用在类上 ,则表示类中的所有响应请求的方法都以该地址作为父路径 。
该注解有六个属性:
1.value:指定请求的地址
2.method:指定请求的method类型--GET ,POST ,PUT ,DELETE,PATCH ,HEAD等
3.consumes:消费消息 ,指定处理请求的提交内容类型
4.produces:生产消息,指定返回的内容类型
5.params:指定request中必须包含某些参数值才让该方法处理请求
6.headers:指定request中必须包含某些指定的header值才能让该方法处理请求4.@PathVariable:将请求URL中的模版变量映射到功能处理方法的参数上 ,即获取URI中的变量作为参数 。
将URL映射到方法
将URl(统一资源定位符)映射到方法 ,是通过注解@RequestMapping来处理的 ,URL映射其实就是用控制器定义访问的URL路径 。用户通过输入路径来访问某个方法 。
SpringBoot还提供了更简洁的编写 ,@GetMapping,@PostMapping,@DeleteMapping,@PutMapping分别表示处理get请求 ,post请求 ,delete请求 ,put请求。
简单分析一下GET请求和POST请求的区别!!!
1.GET可以在浏览器中回退 ,而POST访问同一个地址时也是再次提交请求
2.GET请求会被浏览器主动缓存 ,而POST不会
3.GET中的参数会被完整的保存在浏览器的历史记录里 ,而POST中的参数不会
4.GET的参数是通过URL传递的 ,而POST中的参数是被放到request body中的
5.GET只能接受ASCII字符 ,而POST没有任何限制创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!