springmvc—B站学习02
@RequestMapping
就是告诉SpringMVC,这个方法用来处理什么URL请求,"/"一般可以省略
属性:
1.method:限定请求方式
HTTP协议中的所有请求方式:
GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
2.params:规定请求参数
访问URL路径必须带上params参数里面的内容
3.header:规定请求头
访问URL路径必须带上params参数里面的内容
4.consumes:只接受类型内容是哪种的请求,规定求情头中的Content-Type
5.produces:告诉浏览器返回的内容类型是什么,相当于给响应头中加Content-Type
@RequestMapping的ant风格url(模糊匹配)
1.?:替换任意一个字符
注意:
1.?匹配一个字符,0个和多个都不行
2.模糊匹配和精确匹配同时存在,精确匹配优先
@RequestMapping("/asdf0?")
public String findPage(){
... ...
return "page";
}
2.*:替代多个字符和一层路径
//替代多个字符
@RequestMapping("/asdf0*")
public String findPage(){
... ...
return "page";
}
//替代一层路径
@RequestMapping("/*/asdf01")
public String findPage(){
... ...
return "page";
}
3.**:能替代多层路径
//替代多层路径
@RequestMapping("a/**/asdf01")
public String findPage(){
... ...
return "page";
}
@PathVariable
@PathVariable:为了支持rest风格的,但路径上的占位符也只能占一层路径
@RequestMapping("/asdf01/{id}")
public String findPage(@PathVariable(id) Integer userId){
... ...
return "page";
}