做项目难免会碰到各种各样的问题,下面就记录一些常见的问题,和大家分享一下.
错误1:
org.springframework.web.servlet.DispatcherServletnoHandlerFound
警告: No mappingfound for HTTP request with URI [/SpringMVC1/test/helloworld] inDispatcherServlet with name 'springServlet'
这个问题会导致404错误,
解决方案:
这个问题是告诉你找到handle,这时候主要是考虑两个地方,一个地方是web.xml配置中的:
查看一下的你的url-pattern的路径是否对.
另一个地方就是查看你的controller,看看在类上方是否写了@Controller注解.
错误2:
java.lang.IllegalArgumentException:Servlet mapping specifies an unknown servlet name action
查看web.xml中的:
<servlet>
<servlet-name>springServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--配置DispatcherServlet的一个初始化参数:配置SpringMVC配置文件的位置和名称-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
看看两个<servlet-name>是否一致,这个是粗心的错误.
错误3:
class path resource[spring-servlet.xml] cannot be opened because it does not exist
这个地方值得注意的是springMVC的配置文件名为:spring-mvc.xml.然后再看看你的路径是否对,可以参考一下的配置文件:
<servlet>
<servlet-name>springServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
默认的位置应该是放在/WEB-INF下,如果不是在这路径下,就需要在web.xml配置,具体配置如下:
<servlet>
<servlet-name>springServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:resources/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
碰见错误了,就去解决错误,在错误中提高自己的水平,在错误中增强阅读代码和分析代码的能力.