ResquestMapping注解的作用及属性
1. 分模块化
ResquestMapping注解可以加在方法和类上。
在类上加上注解
@Controller
@RequestMapping(path = "/remapping")
public class HelloController {
@RequestMapping(path = "/hello")
public String sayHello(){
System.out.println("hello springmvc!");
return "success";
}
@RequestMapping(path = "/mappingTest")
public String mappingTest(){
System.out.println("测试注解");
return "success";
}
同样的jsp的请求也要修改一下
<a href="/hello" >入门程序</a>
<a href="/remapping/mappingTest" >测试注解</a>
-
第一个将会报404错误
-
第二个可以访问成功
-
作用在类上:第一层路径
-
作用在方法上:第二次路径
-
路径可以不写:表示根目录
-
${ pageContext.request.contextPath }也可以省略不写,但是路径上不能写 /
2. ResquestMapping注解的属性
-
path:请求的路径
-
value:与path一致
-
method:指定该方法的请求方法(必须是method指定的方法,否则方法不执行)
-
params:请求的参数条件(必须有指定的参数,否则不执行)
如参数xxx,则一定要有xxx可以没有值,
如xxx=yyy,则一定要有参数xxx并且值为yyy
-
headers:请求中必须包含的请求头(如:Accept)
例子:
@RequestMapping(path = "/mappingTest",method = {RequestMethod.GET},
params = "user=maoyan",headers = "Accept")
public String mappingTest(){
System.out.println("测试注解");
return "success";
}
- 在这里user=maoyan不能有空格。
- href默认为get方法,所以可以执行
<a href="/remapping/mappingTest?user=maoyan" >测试注解</a>