SpringMVC中常用注解与使用方法SpringMVC简介

举报
小小张自由--张有博 发表于 2021/11/23 23:55:01 2021/11/23
【摘要】     SpringMVC中常用注解与使用方法 MVC简介 SpringMVC简介 SpringMVC中的常用注解 @GetMapping @RequestParam @RequestBody @PathVariable @RequestHeader @CookieValue @M...
 
 

SpringMVC中常用注解与使用方法

MVC简介

SpringMVC简介

SpringMVC中的常用注解

@GetMapping

@RequestParam

@RequestBody

@PathVariable

@RequestHeader

@CookieValue

@ModelAttribute

@SessionAttributes

新注解

@RequestMapping 和  @GetMapping @PostMapping 区别

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。


MVC简介

MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 是一种用于设计创建 Web 应用程序表现层的模式。

Model(模型): 通常指的就是我们的数据模型。作用一般情况下用于封装数据。

View(视图): 通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。 通常视图是依据模型数据创建的。

Controller(控制器): 是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。

SpringMVC简介

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web

应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring 的 Spring MVC 框架或集成其他 MVC 开发框架。

SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,已成为最优秀的 MVC 框架。

SpringMVC中的常用注解

@GetMapping

作用:用于建立请求URL和处理请求方法之间的对应关系

可以出现在类上,请求URL的第一级访问目录

可以出现在方法上,请求URL的第二级访问目录

value:用于指定请求的URL。它和path属性的作用是一样的

method:用于指定请求的方式

params:用于指定限制请求参数的条件


  
  1. @Controller
  2. //@RequestMapping("SpringMVC/")
  3. public class HelloController {
  4. //请求方法为get 请求参数必须有username
  5. @RequestMapping(value = "/hello",method = RequestMethod.GET,params = {"username"})
  6. //@RequestMapping("/hello")
  7. public String sayHello(){
  8. System.out.println("SpringMVC hello~~~");
  9. return "success";
  10. }
  11. }

@RequestParam

作用:把请求中指定名称的参数给控制器中的形参赋值

value:请求参数的名称

required:请求参数中必须提供此参数。默认值:true,表示必须提供,如果不提供就报错。


  
  1. @RequestMapping("/testRequestParam")
  2. //RequestParam --更名
  3. // 属性 value=别名 required=必须含有的参数
  4. public String testRequestParam(@RequestParam(value = "username") String name){
  5. System.out.printf(name);
  6. System.out.println("testRequestParam执行了~~~");
  7. return "success";
  8. }

@RequestBody

作用:用于获取请求体内容。直接使用得到key=value&key=vaule...结构的数据。get请求方式不适用

required:是否必须有请求体。当取值为true时,get请求会报错。如果取值为false,get请求得到是null。  


  
  1. @RequestMapping("/testRequestBody")
  2. //RequestBody 获取请求体中的内容 如:username=benshan&password=98989&money=200
  3. public String testRequestBody(@RequestBody String body){
  4. System.out.println("testRequestBody执行了~~~");
  5. System.out.println(body);
  6. return "success";
  7. }

@PathVariable

作用:用于绑定URL中的占位符。url中有/delete/{id},{id}就是占位符。


  
  1. @RequestMapping("/testPathVariable/{id}")
  2. //PathVariable使用Restful风格,结构清晰,拓展方便
  3. public String testPathVariable(@PathVariable(value = "id") String id){
  4. System.out.println("testPathVariable~~~");
  5. System.out.println(id);
  6. return "success";
  7. }

@RequestHeader

作用:用于获取请求消息头

    value 提供消息头名称

    required:是否必须有此消息头


  
  1. @RequestMapping("/testRequestHeader")
  2. //testRequestHeader获取请求头的值
  3. public String testRequestHeader(@RequestHeader(value = "Accept") String header){
  4. System.out.println("testRequestHeader~~~");
  5. System.out.println(header);
  6. return "success";
  7. }

@CookieValue

作用:用于把指定cookie名称的值传入控制器方法参数

     value:指定cookie的名称

     required:是否必须有此cookie


  
  1. @RequestMapping("/testCookieValue")
  2. //testRequestHeader获取请求头的值
  3. public String testCookieValue(@CookieValue(value = "JSESSIONID") String cookie){
  4. System.out.println("testCookieValue~~~");
  5. System.out.println(cookie);
  6. return "success";
  7. }

@ModelAttribute

作用:可以修饰方法和参数。出现在方法上,表示当前方法会在控制器的方法执行之前执行,先执行。出现在参数上,获取指定的数据给参数赋值

value 用于获取数据的key


  
  1. @RequestMapping("/testModelAttribute")
  2. public String testModelAttribute(){
  3. System.out.println("testModelAttribute~~~");
  4. return "success";
  5. }
  6. @ModelAttribute
  7. //在控制器执行之前 执行
  8. public void showUser(){
  9. System.out.println("showUser执行了~~~");
  10. }

@SessionAttributes

作用:用于多次执行控制器方法间的参数共享

   value 用于指定存入的属性名称

   type:用于指定存入的数据类型

新注解

@RequestMapping 和  @GetMapping @PostMapping 区别

@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。

@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。

 

文章来源: blog.csdn.net,作者:小小张自由—>张有博,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/promsing/article/details/116304995

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。