【开发错误录】class path resource [SpringMvc.xml] cannot be opened because it does not exist

SSM项目SpringMvc配置问题
本文解决了一个SSM项目中因SpringMvc.xml配置文件路径设置不当导致的启动错误。问题在于使用了classpath而非classpath*:SpringMvc.xml, 导致DispatcherServlet无法正确加载配置。

问题描述:

一个ssm项目,spring 整合 spring mvc,项目启动后页面报如下错误:

在这里插入图片描述

根本原因:

1、org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [SpringMvc.xml]; nested exception is java.io.FileNotFoundException: class path resource [SpringMvc.xml] cannot be opened because it does not exist
2、java.io.FileNotFoundException: class path resource [SpringMvc.xml] cannot be opened because it does not exist

找不到SpringMvc.xml,在下面web.xml中是我引用路径,网上找到问题classpath指向路径不是resource路径,所以一直找不到我的xml文件

 <!-- springmvc前端控制器 -->
 <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:SpringMvc.xml</param-value>
     </init-param>
     <!-- 在tomcat启动的时候就加载这个servlet -->
     <load-on-startup>1</load-on-startup>
 </servlet>

解决方法:

classpath: 到你的class路径中查找文件;

classpath*: 不仅包含class的路径,还包括jar文件中(class路径)进行查找

> 解决办法:在classpath后面在上“*” 可解决问题,“classpath*:SpringMvc.xml”

 <!-- springmvc前端控制器 -->
 <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*:SpringMvc.xml</param-value>
     </init-param>
     <!-- 在tomcat启动的时候就加载这个servlet -->
     <load-on-startup>1</load-on-startup>
 </servlet>
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值