spring MVC url-pattern的/和/*有区别

上述问题我也遇到,所以就记录下来。
总是现象就是:
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等)

你可能感兴趣的:(url-pattern)