SpringMVC环境搭建问题:org.springframework.web.servlet.DispatcherServlet noHandlerFound

SpringMVC环境搭建问题:org.springframework.web.servlet.DispatcherServlet noHandlerFound
--------------------------------------------------------------------------------------------------

出现No mapping 无非几种情况
1、controller没被扫描注册到
2、RequestMaping 的映射地址写错
3、映射后缀的问题

建议:
1、你看看你的servlt-name 换个名字  
2、你web.xml的classpath*:spring-mvc.xml 

改成 classpath*:spring/spring-mvc.xml

【题记】因为很菜,所以弄出了诸多问题,因为很菜,所以将该问题记载。   下面这个问题是我在搭建SpringMVC环境中遇到的最棘手,解决最久的问题。整整折腾了两天,红着眼睛调调试试到凌晨一两点。

【org.springframework.web.servlet.DispatcherServlet noHandlerFound

No mapping found for HTTP request with URI [/mvc/WEB-INF/view/Welcome.jsp] in DispatcherServlet with name 'rest'】

     百度、google也找到了不少同类型问题,文献如下:

[1]spring的困惑--org.springframework.web.servlet.DispatcherServlet

[2]org.springframework.web.servlet.DispatcherServlet noHandlerFound

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

    如果幸运,按照上面的提示解决问题,那么说明导致该问题的原因是Servlet的路径没用配置正确。至于为何用/和/*就导致不正确呢,上面的文献[3]末尾有解释。如果还想知道更细节、更本质的解释,可以百度、google关键字【web.xml  配置  url-pattern  通配符】等。这里有一篇文献不错的文献:

[4]java的web.xml中配置

    如果很不幸,按照上面的方法修改问题依旧,那就说明不是Servlet路径的问题了。而是没有找到对应的Servlet类了。为何会没有对应的Servlet呢?如果你和我一样是菜鸟,而且利用百度、google搜索关键字【Spring MVC 环境 搭建】找到了一系列文章,然后按上面的步骤操作,出现了这个问题。那么,绝大部分可能是因为没有指定WEB工程的Build Path导致。由于,有些版本的ECLIPSE默认没有将WEB工程的CLASSPATH设置为WEB-INFO/classes,所以编译的Serlvet类就不在该路径下。而tomcat的web工程部署默认在该路径下寻找Servlet类,因而即使web.xml中正确配置了url-pattern也将出现上述错误。将Build Path修改后,问题解决。

【总结】SpringMVC环境搭建其实非常简单,就三步:第一步,导入jar包。第二步,修改web.xml配置。第三步,增加对应的xml.利用百度、google搜索关键字【Spring MVC 环境 搭建】找到的大部分网上的文章都是正确的。出现问题,无非是少jar包,url-pattern路径配置不正确,servlet编译后的XXXX.class路径不对。

你可能感兴趣的:(SpringMvc)