问题描述:
在启动SpringMVC项目时,控制台报错:java.lang.IllegalStateException: Ambiguous mapping found.Cannot map 'helloController' bean nethod
发现问题:
经检查代码发现,方法的路径映射注解@RequestMapping参数写错:
@RequestMapping(name="req/par1")
public String reqPar1(@RequestParam String userName){
System.out.println(userName);
return null;
}
@RequestMapping(name="req/par2")
public String reqPar2(@RequestParam String userName){
System.out.println(userName);
return null;
}
解决问题:
将@RequestMapping中的name修改为value,问题解决。@RequestMapping(value="")
思考:
RequestMapping注解有六个属性,下面我们把她分成三类进行说明。
value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);
method: 指定请求的method类型, GET、POST、PUT、DELETE等;
2、 consumes,produces;
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
3、 params,headers;
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。