abi*_*eez 0 spring-mvc spring-security
我在我的xml中看到了一些url-pattern,例如filter-mapping,intercept-url,mvc:resources等.这些模式总是一样吗?什么是这些URL模式之间的差异/,/*,/**?
这取决于你问这个问题的背景
在Web应用程序部署描述符中,以下语法用于定义映射:
- 以"/"字符开头并以"/*"后缀结尾的字符串用于路径映射.
- 以"*"开头的字符串 prefix用作扩展映射.
- 空字符串("")是一个特殊的URL模式,它完全映射到应用程序的上下文根,即表单的请求
http://host:port/<contextroot>/.在这种情况下,路径信息是'/',servlet路径和上下文路径是空字符串("").- 仅包含'/'字符的字符串表示应用程序的"默认"servlet.在这种情况下,servlet路径是请求URI减去上下文路径,路径信息为null.
- 所有其他字符串仅用于完全匹配
这来自Servlet规范(第12.2节)
在Servlet/Filter映射场景中/意味着"默认"servlet,通常这是DefaultServlet(在Tomcat中)映射到的位置.基本上它处理所有传入的请求,并且不会在链的下游传递它们进行处理(基本上这是最后一次捕获的映射).
/* 在servlet映射场景中意味着所有传入的URL(当它无法处理时,它将被传递到last-catch-all-mapping).
现在谈论春天的时候,/,/*并/**有不同的含义.引用所谓的ant样式路径表达式.
其中/仅表示/(应用程序的根目录),其中/*表示根目录包括一个深层,其中/**表示一切.
因此/foo/*匹配URL /foo/bar但不匹配/foo/bar/baz.鉴于/**或/foo/**将匹配所有这些.
| 归档时间: |
|
| 查看次数: |
2968 次 |
| 最近记录: |