在搭建一个springMVC的开发环境过程中,出现一个小小的错误配置,在访问的时候出现了一个404的错误,在网上查了很多方法都没有解决,最后发现是在配置web.xml 的过程中有点小小的错误。
我简单的记录一下这个错误,共勉之。
错误提示:
org.springframework.web.servlet.DispatcherServlet noHandlerFound
No mapping found for HTTP request with URI
背景介绍:
1,我把spring-servlet.xml 配置文件放在了WEB-INF 目录下(这是它的默认路径)
2,我的web.xml 配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>springmvc1</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Tomcat正常启动, 当输入url访问的时候的,报404。
解决办法:把web.xml 配置文件中的如下代码删掉(因为spring-servlet.xml 在默认路径下,不需要去指定路径,如果在开发的过程中,为了方便管理配置文件,可以新建一个package,专门用来管理配置文件,可以通过这个配置来指定到给定的路径下)
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring-servlet.xml</param-value>
</init-param>