[tomcat服务器启动SSM项目时问题]class path resource [smvc_servlet.xml] cannot be opened because it……

问题发生背景:

    在学习ssm框架[spring+springmvc+mybatis]项目CMS_system,当搭建完成ssm框架启动tomcat测试时,出现问题:

    

问题详情如下:

[tomcat服务器启动SSM项目时问题]class path resource [smvc_servlet.xml] cannot be opened because it……

横线那句话截图未显示完全。完整的代码如下: 

IOException parsing XML document from class path resource [smvc_servlet.xml]; nested exception is java.io.FileNotFoundException: class path resource [smvc_servlet.xml] cannot be opened because it does not exist

下图再次证明问题出处:class path resource [smvc_servlet.xml] cannot be opened because it does not exist

[tomcat服务器启动SSM项目时问题]class path resource [smvc_servlet.xml] cannot be opened because it……


借助网络找到许多相关问题解决方法,答案都极其相似,但是最后并没有解决这个问题,后来请教了老师:

解答: 1.检查我的smvc_servlet.xml文件确实存在后,

          2.查看我的smvc_setvlet.xml文件路径是否正确,

最后就是smvc_servlet.xml文件路径的问题,也就是在web.xml中配置springMVC控制器时,

[tomcat服务器启动SSM项目时问题]class path resource [smvc_servlet.xml] cannot be opened because it……

<init-param>标签中指明了classpath:smvc_servlet.xml,因为出现了classpath,也就意味着“:”后面的文件路径是指存在于src下的文件【eclipse中是这样】,然而我的smvc_servlet.xml文件是在WEB-INF根目录下,这也就导致每次启动项目都会提示文件找不到,因为文件路径设置错误。


最后解决方法:

   【 方法1】将smvc_servlet.xml文件移到src根目录下,或者复制一份到src根目录

    【方法2】将smvc_servlet.xml名字改为smvc-servlet.xml,然后去掉springMVC控制器中对mvc文件路径的说明,也就是删除<init-param>标签内容,此时默认mvc配置文件全名为smvc-servlet.xml,且默认该文件路径在WEB-INF根目录下,所以只需要再将mvc配置文件名改为smvc-servlet.xml即可正常启动(下图辅助说明方法2)

[tomcat服务器启动SSM项目时问题]class path resource [smvc_servlet.xml] cannot be opened because it……

我选择的是方法2,修改前后结果如下:

    [tomcat服务器启动SSM项目时问题]class path resource [smvc_servlet.xml] cannot be opened because it……

[tomcat服务器启动SSM项目时问题]class path resource [smvc_servlet.xml] cannot be opened because it……


本人新手一枚,此次解决问题中如有解释出错或用词不当之处,还请各位兄台不吝赐教。