学习SpringMVC遇到的BUG_01

项目场景:

根据学习SSM整合时候,写完控制层之后,开启Tomcat服务器进行测试的时候,发现服务器无法正常启动


问题描述

17-Sep-2022 21:53:32.954 严重 [RMI TCP Connection(8)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
17-Sep-2022 21:53:32.954 严重 [RMI TCP Connection(8)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[]启动失败

根据错误信息显示为“一个或多个listeners启动失败”,注释掉WEB-INF中web.xml文件中关于listener的代码后,果然不报错了,但是这样,无法启动Spring容器,显然是不合理的

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

原因分析:

日志文件过于笼统,分析不到具体的原因。


解决方案:

根据百度查询遇到“org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start.”怎么办 - 正怒月神 - 博客园通过添加文件获取更多日志信息。

获取更详细的错误信息。需要在WEB-INF/classes目录下新建一个logging.properties文件。这个文件的内容为:

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler  
 
############################################################  
# Handler specific properties.  
# Describes specific configuration info for Handlers.  
############################################################  
 
org.apache.juli.FileHandler.level = FINE  
org.apache.juli.FileHandler.directory = ${catalina.base}/logs  
org.apache.juli.FileHandler.prefix = error-debug.  
 
java.util.logging.ConsoleHandler.level = FINE  
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter  

通过添加了文件后,发现具体信息为:

严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener]
org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/jdbc.properties]

明显为FileNotFoundException错误,并且是配置文件/jdbc.properties出错。经过检查发现是因为下面一行代码中,缺少了classpath:导致,添加上即可运行

<context:property-placeholder location="classpath:jdbc.properties"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值