作用:用于建立请求 URL 和处理请求方法之间的对应关系。
可以作用于类或者方法之上,当作用在类上时,相当于该类中所有方法,都得处理请求都得是该作用于类的path下的子路径。
属性:
/*
* 属性:
* value和path: 指定请求路径
* method:指定请求方式,通过调用RequestMethod的枚举类型指定(GET、POST等),非该方式的请求不处理
* params: 指定请求参数,key和value的值必须与指定的一样,只要key则要求有该参数就行。
* headers: 指定请求头,用不到。
* */
@RequestMapping(value = "/hello",method = RequestMethod.GET,params = {"username"})
public String sayHello() {
System.out.println("Hello SpringMVC");
return "hello";
}
value和path:
指定处理请求的路径,当只有该参数时,属性名可省略不写。
method:
指定请求方式,例如:@RequestMapping(“/hello”,method = RequestMethod.POST),就是只能处理POST请求,其他请求一概处理,如果请求方式与设置指定方式不一样,则会报错
params用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的 key 和 value 必须和 配置的一模一样,没有指定value值时则要求有该参数。
例如:
RequestMapping(value = "/hello",params = {"username"})
当请求中没有该参数则会报错
需要在请求中加上指定参数
<a href="hello?username=haha">开始测试</a>
通配符
–?:/hello/qqq? 匹配文件名中的一个字符
– * :/hello/* /yes 匹配文件名中的任意字符
– 两个星花: ** 匹配多层路径