标签:
在使用spring mvc 是我们会配置spring 的DispatcherServlet作为请求的转发器。
<servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
这里url-pattern 是设置可以处理的请求路径模式。我遇到一个问题就是当我把url-pattern设置为 /* 时我的请求就总是报出
后台也访问到了我的Controller 但是在返回ModeAndView 时我指定的 页面 却找不到了。
ffffffff
九月 29, 2016 11:19:31 下午 org.springframework.web.servlet.PageNotFound noHandlerFound
警告: No mapping found for HTTP request with URI [/SpringMvcDemo/WEB-INF/jsp/hello.jsp] in DispatcherServlet with name ‘spring‘
fffffff是我的请求到了controller的输出。 hello 是设置的view 名称。在我的WEB-INFO/jsp 目录下也确实存在hello.jsp 文件。
经查阅网络找到问题所在:
原来,关键就在于url-pattern的设置: 当是<url-pattern>/</url-pattern> 会匹配到/hello这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url 当是<url-pattern>/*</url-pattern> 会匹配所有url:路径的url和后缀型的url(包括/hello,*.jsp,*.js和*.html等)
所以,改成 / 就OK 了。
Spring mvc web.xml中 urlpatten的配置问题
标签:
原文地址:http://www.cnblogs.com/sane/p/5922371.html