spring mvc项目中因为web.xml配置错误导致无法访问控制器的问题

今天在跟着黑马程序员教程整合SSM后运行网站总提示404错误,调试发现请求根本没进入控制器中,虽然猜测是方法的参数不匹配或系统没加载控制器映射,但检查了几遍代码和配置文件都没发现是哪里的问题。最后没办法祭出了杀招,和教程源码做对比,这一比还真发现了问题:在web.xml配置文件中关联spring mvc配置文件的路径时写错了。就这样,因为一个小小的失误浪费了好几个小时。
具体原因如下:
在web.xml文件中有两个地方需要加载外部配置文件,包括spring配置文件applicationContext.xml和spring mvc的配置文件springmvc-config.xml(这个文件名可以自定义)。applicationContext.xml是在web.xml的context-param元素中引用,而springmvc-config.xml在web.xml文件的servlet元素中引用。可能是当时脑子蒙圈了,在servlet元素的引用中写成了applicationContext.xml文件名,后续检查时脑子也不在线,导致一直没发现这个错误。将servlet元素中的引用改成springmvc-config.xml后问题就解决了。
spring mvc项目中因为web.xml配置错误导致无法访问控制器的问题
web.xml文件引用applicationContext.xml:
spring mvc项目中因为web.xml配置错误导致无法访问控制器的问题
web.xml文件引用springmvc-config.xml,这里写错了文件名,导致系统没有加载springmvc的配置文件,最终导致没有加载控制器映射:
spring mvc项目中因为web.xml配置错误导致无法访问控制器的问题
虽然这次是一个不起眼的小问题,但也算让自己长了记性,以后这个低级的错误大概不会再犯了,在这里小记一下。

上一篇:Spring 监听器listener原理-手写监听器(二)


下一篇:Spring注解之@Autowired失败的解决方案