开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第27天,点击查看活动详情
在学习springMVC时,我们常常会使用@RequestMapping注解,如:
@RequestMapping(vaLue = "/target")
pubLic String toTarget(){
//视图名称
return "target" ;
}
本篇文章详细说明@RequestMapping注解的基础属性
@RequestMapping注解的功能
从注解名称上我们可以看到,@RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来,建立映射关系。
@RequestMapping注解的value属性
作用:通过请求的请求路径匹配请求
-value属性是数组类型,即当前浏览器所发送的请求路径匹配value属性中任何一个值,则当前请求就会被注解所标识的方法进行处理
SpringMVC接收到指定的请求,就会来找到在映射关系中对应的控制器方法来处理这个请求。
假如有个控制器为: @RequestMapping("/test"),
当接收到SpringMVC/test请求时,就会来找到在映射关系中对应的控制器方法来处理这个请求。
@RequestMapping注解的位置
-
@RequestMapping标识一个类: 设置映射请求的请求路径的初始信息 -
@RequestMapping标识一个方法: 设置映射请求请求路径的具体信息
比如:
@Controller
@RequestMapping("/test")
public class Hellocontronller {
@RequestMapping(value = "/index")
public String index(){
// 返回视图名称
return "index";
}
}
该注解就是标识一个类和一个方法,当我们的路径为http://localhost:8080/test/index时就会返回index.html的界面。
@RequestMapping注解的method属性
@RequestMapping注解的method属性通过请求的请求方式 (get或post) 匹配请求映射
@RequestMapping注解的method属性是一个RequestMethod类型的数组, 表示该请求映射能够匹配多种请求方式的请求
若当前请求的请求地址满足请求映射的value属性,但是请求方式不满足method属性,则浏览器报错405:
Request method 'POST' not supported
注:
1、对于处理指定请求方式的控制器方法,SpringMVC中提供了@RequestMapping的派生注解
-
处理get请求的映射-->@GetMapping
-
处理post请求的映射->@PostMapping
-
处理put请求的映射-->@PutMapping
-
处理delete请求的映射-->@DeleteMapping
2、常用的请求方式有get, post, put, delete
但是目前浏览器只支持get和post,若在form表单提交时,为method设置了其他请求方式的字符串(put或 delete),则按照默认的请求方式get处理 若要发送put和delete请求,则需要通过spring提供的过滤器HiddenHttpMethodFilter