在上一章节小编讲述了SpringMVC入门案例,通过配置 前端控制器 , 视图解析器,初始化加载配置文件等等一系列步骤,下面小编继续讲解上章节的疑惑注解@RequestMapping
1 .@RequestMapping的几种形式
path | 指定请求路径的url |
---|---|
value | value属性和path属性是一样的 |
mthod | 指定该方法的请求方式(如果接受不在定义范围内的请求会抛404) |
params | 指定限制请求参数的条件 |
headers | 发送的请求中必须包含的请求头 |
1.1 path属性
@RequestMapping(path = "/path")
public String pathTest(){
System.out.println("path");
return "success";
}
1.2 value属性:
// 2. value value属性和path属性是一样的
@RequestMapping(value = "/value")
public String valueTest(){
System.out.println("value");
return "success";
}
1.3 method属性:
// 3. method 指定该方法的请求方式
@RequestMapping(value = "/method" , method = {RequestMethod.GET })
public String methodTest(){
System.out.println("method");
return "success";
}
1.4 params属性:
// 4. params 指定该方法的请求方式
@RequestMapping(value = "/params")
public String paramsTest(String name , String password){
System.out.println("params" + name + ":" + password);
return "success";
}
1.5 headers属性:
// 5. headers 发送的请求中必须包含的请求头
@RequestMapping(value = "/headers" , headers = "Accept")
public String headersTest(){
System.out.println("headers");
return "success";
}
方法里面都是只是简单的输出了一句话,在失败的请求下,控制台是不会输出方法中的话的
1.6 创建index.jsp文件
<a href="path">Path</a>//测试path值方法
<a href="value">value</a>//测试value值方法
<a href="method">method</a>//测试method方法
<a href="params?name=Rocy&age=23">params</a> //测试携带参数方法
<a href="headers">headers</a>//测试是否包含请求头方法
1.7 测试执行结果如下
path
value
method
params Rocy:23
headers
这里有很多地方需要注意:
1.method属性定义的(小编仅仅定义了method = {RequestMethod.GET },这里是标明除了GET请求可以被请求成功之外,其他的请求都会抛出400Bad Request错误声明,导致请求失败,不会进入方法,更不会输出方法中的内容)
2.param属性定义的形参也是要和携带的参数一一对应的,如果形参与携带的参数不对应,那么值就不能自动封装上,便会出现null值打印的情况
3.headers属性:如果不包含头信息也会抛出400异常错误
好了,这里就是SpringMVC的RequestMapping注解的属性使用了