今天工作的时候帮同事解决一个404错误,弄了半个小时才找到问题,原来是没有配置好
<mvc:annotation-driven />。其实在开发过程中遇到过很多次404错误,本文总结一下常见原因。
项目中一般都使用tomcat加Spring MVC组合,它们两的配置错误都可能导致404
${TOMCAT_HOME}/webapps/tenmao,那么所有的URL都应该带有前缀tenmao。如果忘记了,则会导致所有请求都是404。<servlet-mapping>配置错误,比如<servlet-mapping>
<servlet-name>dispatch-servlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>以上这种配置,就要求所有的URL都以.do结尾,如果新增的接口没有,也会导致404
DispatcherServlet,也就不会执行方法org.springframework.web.servlet.DispatcherServlet#doService 常见原因是:
@RestController或@ResponseBody<mvc:annotation-driven />handlerMap,如果不在,则说明Controller或对应的方法注册失败org.springframework.web.servlet.handler.AbstractUrlHandlerMapping#lookupHandler欢迎讨论,本人承诺非假日期间2小时内回复