Web-DispatcherServletUrlPatterns

来源:互联网 发布:python格式化输出字典 编辑:程序博客网 时间:2024/05/17 08:07

在MANIFEST.MF文件中指定了Web-DispatcherServletUrlPatterns时千万要注意它的规则,首先它必须是符合servlet的url-pattern的,其规则如下:

    在web.xml文件中,以下语法用于定义映射:
    1.以”/’开头和以”/*”结尾的是用来做路径映射的。
    2.以前缀”*.”开头的是用来做扩展映射的。
    3.“/” 是用来定义default servlet映射的。
    4.剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action
    所以,为什么定义”/*.action”这样一个看起来很正常的匹配会错?因为这个匹配即属于路径映射,也属于扩展映射,导致容器无法判断。

    同时,spring的mvc在进行url匹配的时候是将Web-DispatcherServletUrlPatterns去掉后再匹配mappings的,如spring的定义文件的mappings如下:

<property name="mappings">
  <props>
    <prop key="/abcd/test.do">test_Controller</prop>
  </props>
</property>

    如果你的Web-DispatcherServletUrlPatterns指定为/abcd/*,那么访问地址应该是:/abcd/abcd/test.do,而不是/abcd/test.do

【http://ferreousbox.javaeye.com/blog/284299】