代码改变世界

[转载]spring MVC的困惑--url-pattern的/和/*有区别

2011-06-22 08:54  iocn  阅读(593)  评论(0编辑  收藏  举报

上述问题我也遇到,所以就记录下来。
总是现象就是:
spring用到forward("/WEB-INF/jsp/*.jsp")
而forward当然是又要经过web.xml的映射的,
然后,在URL匹配时,
 < url-pattern > / </ url-pattern >   不会匹配到*.jsp,不会进入spring的DispatcherServlet类
 < url-pattern > /* </ url-pattern > 匹配*.jsp,导致进入spring的DispatcherServlet 类,然后去寻找controller,接着找不到对应的controller所以报错。

试验了一下,改为 < url-pattern > / </ url-pattern > 果然就不会报错了,唉,还以为不能解决,为此还换成了velocity作为视图,算了,继续用velocity吧,简单点。

总之,关于web.xml的url映射的小知识:
<url-pattern>/</url-pattern>  会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url
<url-pattern>/*</url-pattern> 会匹配所有url:路径型的和后缀型的url(包括/login,*.jsp,*.js和*.html等)

via:http://blog.csdn.net/wp_84/archive/2011/02/22/6201026.aspx