今天在调试SSM项目时抛出了异常,搞了一下午,借此记录一下
异常语句
class path resource [config/spring/springmvc.xml] cannot be opened because it does not exist
意思:类路径资源[springmvc.xml文件]无法打开,因为它不存在
分析:找不到我的springmvc.xml,在下面web.xml中是我引用路径,网上找到问题classpath指向路径不是resource路径,所以一直找不到我的xml文件,
classpath:到你的class路径中查找文件,
classpath*:不仅包含class的路径,还包括jar文件中(class路径)进行查找
解决办法:在classpath后面在上“” 可解决问题,“classpath:springmvc.xml”
该问题解决后,服务器可以连接正常,但点击连接后又跳出了404异常
引起该异常有很多原因,再此就不一一分析了;
说明一下本次引起异常的原因
tomcat中配置错误导致,正确的打开网页的方式为ssm_day0630war
war模式:将web工程以war包的形式上传到服务器
war exploed模式:将web工程以当前文件夹的位置关系上传到服务器
(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;
(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。
两种不同的配置获取的路径也不一样,在使用的时候注意
手欠把tomcat部署方式换成第二种,又抛出了这个异常
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
部署方式切换成 ssm_day0630war,又可以正常运行了,把classpath后面的*去除也可以正常运行,因此最终导致带异常原因为tomcat部署错误引起的
以上是本次异常的总结,如有错误请大家指出