@RequestMapping支持Ant风格的请求路径,见源码
我们在看Java技术书籍的过程中,当加载文件时总会遇到是否支持ant风格路径加载,这里说的ant风格是什么意思呢,今天我查了一下,明白了什么意思,现在总结一下
ANT通配符有三种:
通配符 | 说明 |
---|---|
? | 匹配任何单字符 |
* | 匹配0或者任意数量的字符 |
** | 匹配0或者更多的目录 |
下面举个例子:
URL路径 | 说明 |
---|---|
/project/*.a | 匹配项目根路径下所有在project路径下的.a文件 |
/project/p?ttern | 匹配项目根路径下 /project/pattern 和 /app/pXttern,但是不包括/app/pttern |
/**/example | 匹配项目根路径下 /project/example, /project/foow/example, 和 /example |
/project/*/dir/file. | 匹配项目根路径下/project/dir/file.jsp, /project/foow/dir/file.html,/project/foow/bar/dir/file.pdf |
/*/.jsp | 匹配项目根路径下任何的.jsp 文件 |
需要注意的是:
最长匹配原则(has more characters)
说明,URL请求/project/dir/file.jsp,现在存在两个路径匹配模式/*/.jsp和/project/dir/.jsp,那么会根据模式/project/dir/.jsp来匹配
测试
控制器
@RequestMapping(value=”/user/*/createUser”)
public String createUser(){
System.out.println(“createUser”);
return “success”;
}
请求
a href=”mappingOther/user/aaa/createUser”>ant风格