一.RequestMapping注解映射请求
- Spring MVC使用@RequestMapping注解为控制器指定可以处理哪些URL请求
- 在控制器类及方法处可以标注
1.类定义处:提供初步的请求映射信息,相对于WEB应用的根目录
2.方法处:提供进一步细分的映射信息,相对于类定义处的URL。若类定义处没有标注,则方法标记的URL相对于WEB应用的根目录 - DispatcherServlet截获请求后,通过控制器上的RequestMapping注解提供的映射信息确定请求所对应的处理方法。
二.RequestMapping请求方式
- RequestMapping除了可以使用请求URL映射请求,还可以使用请求方法,请求参数及请求头映射请求
- RequestMapping的value,method,params及heads分别表示请求的URL,请求方法,请求参数及请求头的映射条件,他们之间是与的关系,联合使用可让请求映射更加精确
/**
* 使用method属性指定请求方式
*/
@RequestMapping(value="/testMethod",method=RequestMethod.POST)
public String testMethod(){
return "success";
}
/**
* 使用params属性指定请求的参数必须有username并且userage的值不等于11
* headers属性指定请求头的Accept-Language的值必须为zh-CN,zh
*/
@RequestMapping(value = "/testParamsAndHeaders", params = { "username", "userage!=11" },
headers = {"Accept-Language=zh-CN,zh" })
public String testParamsAndHeaders() {
return "success";
}
三.RequestMapping支持Ant风格的URL
Ant风格支持3种匹配符
?:匹配文件名中的一个字符
*:匹配文件名中任意字符
**:匹配多层路径
- /user/* : 匹配user/asd
- /user/asd? : 匹配user/asda
- /user/**/asd : 匹配user/aa/bb/asd, /user/asd