最近看《WebWork.Spring.Hibernate整合开发网络书城》视频教程,自己按照教程上说的做练习,在启动tomcat时总是出一个错误:
2007-5-31 14:27:13 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2007-5-31 14:27:13 org.apache.catalina.core.StandardContext start
严重: Context [/testWSH] startup failed due to previous errors
教程的作者在录制教程时也遇到了此问题,但是他删了一个jar包后就没事了,可是我的一直无法正常启动,从昨天到现在一天的时间都在研究这个问题,也“百 度”到了很多有关此问题的信息,但是都没有很明确的解决方案。现在此问题已经解决,而且基本肯定问题所在,所以将解决方案写出来以供参考。
有一种解决方案是把web.xml文件中的
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener<!--</span-->listener-class>
<!--</span-->listener>
改为
<servlet>
<servlet-name>SpringContextServlet<!--</span-->servlet-name>
<servlet-class>
<!--</span-->servlet-class>
<load-on-startup>1<!--</span-->load-on-startup>
<!--</span-->servlet>
但这种方法可能会出现其他问题(网上又说会导致其他文件无法打开)。
我的最终解决方案如下:
我用的是tomcat5.5,配置了日志之后打印出下列信息:
ERROR main org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
Caused by:
java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
at java.lang.Class.getConstructor0(Class.java:2640)
at java.lang.Class.getDeclaredConstructor(Class.java:1953)
……
从日志信息看问题已经很明显了,是applicationContext.xml的dataSource 问题。
将
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
改为
<bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!--[if !supportEmptyParas]-->之后问题得到解决。 <!--[endif]-->
出现"Error listenerStart"一般是applicationContext.xml中的bean加载有问题。在用eclipse做webwork + spring + hibernate 的项目时一般都是用Myeclipse自动生成那些配置文件,而有些相关的jar<!--[if !supportEmptyParas]-->或者文件并没有加载在至项目中,以至引出奇怪的问题,又因为是自动生成的东西所以往往会忽略一些文件,而问题确恰恰是这些生成的文件所致,所以自动化的东西也未必一定是正确的,呵呵……
org.springframework.jdbc.datasource.DriverManagerDataSource<bean id="dataSource"></bean> 不可以使用连接池。org.apache.commons.dbcp.BasicDataSource作为注入的DataSource源,为了使用 DBCP的功能,必须要将commons-dbcp.jar加入CLASSPATH中,另外还需要commons-pool.jar和commons- collections.jar,这些都可以在Spring的lib目录下找到。
org.springframework.jdbc.datasource.DriverManagerDataSource并没有提供连接池的功能,只能作作简单的单机连接测试。
使用org.apache.commons.dbcp.BasicDataSource时缺少commons-pool.jar所以会出现如题的问题。
<!--[endif]-->
分享到:
相关推荐
在Java Web应用开发过程中,经常遇到的一个问题是Tomcat启动时出现“Error listenerStart”这样的异常信息。本文将详细介绍这一问题的原因、可能涉及的因素以及具体的解决方法。 #### 一、问题背景 在部署Spring ...
标题 "严重: Error listenerStart" 是一个典型的Java应用在启动时遇到的问题,通常与日志监听器或事件处理机制有关。这个问题可能出现在使用了Apache Log4j库的应用中,Log4j是一个广泛使用的日志记录框架,用于收集...
如何监听是listener时,则前面的名称为:DIAG_ADR_ENABLED_LISTENER = OFF 3、重新启动windows服务管理中的监听程序.先停止,然后再重新启动. 4、检查结果.发现可以了,返回的值在10毫秒.有时为0毫秒.成功!! 但这并不是...
ORA-12541 TNSno listener 的解决方案 ORA-12541 TNSno listener 的解决方案
官方离线安装包,亲测可用
spring内置监听者demo
当我们希望在Tomcat启动时自动访问本地的Servlet或JSP,可以通过配置监听器(Listeners)来实现这一需求。监听器是Servlet容器中的一个组件,它可以监听特定的事件,比如Web应用的初始化、销毁等,并在这些事件发生...
在 Centos5 下安装 Oracle 11g 数据库后,启动监听时可能会遇到 “The listener supports no services” 的问题,该问题导致远程连接时出现 ORA-12514:TNS:listener does not currently know of service requested ...
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
在Spring Boot应用部署到Tomcat服务器的过程中,遇到“启动子级时出错”的问题,这通常是由于多种原因导致的。以下是一些可能的原因和解决策略: 1. **配置错误**: - 检查`web.xml`配置,确保没有错误的配置项,...
### Tomcat中文手册知识点概述 #### 一、Tomcat简介及功能 - **定义**: Tomcat是一款免费开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它支持最新的Servlet API规范,同时也是一个简单的Web...
2. **减少启动加载的模块**:在`server.xml`中,可以通过注释掉不必要的Connector、Listener等元素,减少启动时加载的组件,加快启动速度。 3. **使用ClassPath优化**:通过 `-Djava.endorsed.dirs` 指定endorsed...
listener-tnsnamelistener-tnsnamelistener-tnsnamelistener-tnsnamelistener-tnsnamelistener-tnsnamelistener-tnsnamelistener-tnsname
- `<Listener>`:监听器,用于在Tomcat启动和停止时执行特定任务,如初始化或清理。 - `<Service>`:定义Service的名称和其他属性,通常包括一个或多个Connector和一个Engine。 - `<Connector>`:配置Connector的...
这种错误通常发生在客户端尝试连接到Oracle服务器时,表明网络通信出现了问题。本文将详细介绍该错误的原因及解决方法。 #### 二、原因分析 ORA-12560 TNS: 协议适配器错误可能由以下几个方面引起: 1. **监听...
【标题】:Tomcat面试专题 【描述】:本专题主要聚焦在Java筑基面试中与Tomcat服务器相关的知识点,旨在帮助求职者深入理解并掌握Web应用服务器的基础知识,特别是Tomcat的使用、配置和优化。尽管描述提到了MySQL,...
严重: Error listener Start 2009-11-06 21:39:17 org.apache.catalina.core.StandardContext start 严重: Context startup failed due to previous errors 2009-11-06 21:39:17 org.apache.catalina.core....
【标题】:“Tomcat启动和停止时发送邮件” 在IT运维过程中,监控服务器的状态是非常重要的。Tomcat作为一款广泛使用的Java应用服务器,其启动和停止的自动化管理有助于提高工作效率并及时获取系统状态信息。本篇将...
标题 "tomcat 启动报APR based Apache Tomcat Native library not found" 指出的问题是关于Apache Tomcat服务器在启动时找不到基于APR(Apache Portable Runtime)的本机库。这通常涉及到Tomcat使用APR库来提高性能...
- **`deployOnStartup`**: 如果设置为`true`,则在Tomcat启动时自动部署`appBase`目录下的所有应用程序。 - **`name`**: 定义虚拟主机的名字。 - **子元素**: - **`<Logger>`**: 日志记录配置。 - **`<Realm>...