ant风格的URL:
?
:能匹配一个字符
*
:能替代任意一个字符
**
:能替代多层路径
1.配置一个字符:?
<a href="antTest01">测试Ant风格的URL</a>
@Controller
public class AntController {
@RequestMapping("/antTest01")
public String test01(){
return "success";
}
@RequestMapping("/antTest0?")
public String test02(){
return "success";
}
}
2.能替代任意一个字符:*
<a href="antTest01">测试Ant风格的URL</a>
@Controller
public class AntController {
@RequestMapping("/antTest01")
public String test01(){
System.out.println("antTest01...");
return "success";
}
@RequestMapping("/antTest0?")
public String test02(){
System.out.println("antTest0?...");
return "success";
}
@RequestMapping("/antTest0*")
public String test03(){
System.out.println("antTest0?...");
return "success";
}
}
假如测试的为antTest01:
执行的是精确的路径@RequestMapping("/antTest01")
假如测试的为:antTest0aaaa
执行为@RequestMapping("/antTest0*")
假如测试的为:antTset0a
执行的为@RequestMapping("/antTest0?")
最终结论:模糊路径和精确路径多个匹配的情况下,精确优先
其次/*
也可以匹配一层路径
@Controller
public class AntController {
@RequestMapping("/*/antTest0*")
public String test04(){
System.out.println("antTest0*...");
return "success";
}
}
3.匹配多层路径:**
@Controller
public class AntController {
@RequestMapping("/**/antTest0*")
public String test05(){
System.out.println("antTest0*...");
return "success";
}
}