严重: Error listenerStart
org.apache.catalina.core.StandardContext start
严重: Context [/testWSH] startup failed due to previous errors
- 一种解决方案是把web.xml文件中的<o:p></o:p>
<listener> <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
listener>
改为
<servlet>
<servlet-name>SpringContextServletservlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
servlet-class>
<load-on-startup>1load-on-startup>
servlet> 但这种方法可能会出现其他问题(可能导致其他文件无法打开)。
- 是 applicationContext.xml 的 dataSource 问题。
将
<bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource"></bean><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!----><bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource"></bean>改为
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource"></bean><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> -
出现"Error listenerStart"一般是applicationContext.xml中的bean加载有问题。在用eclipse做webwork + spring + hibernate 的项目时一般都是用Myeclipse自动生成那些配置文件,而有些相关的jar或者文件并没有加载在至项目中,以至引出奇怪的问题,又因为是自动生成的东西所以往往会忽略一些文件,而问题确恰恰是这些生成的文件所致,所以自动化的东西也未必一定是正确的,呵呵org.springframework.jdbc.datasource.DriverManagerDataSource 不可以使用连接池。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所以会出现如题的问题。 -
解决的办法是删除无用的jar。工程是 spring+hibernate+tomcat, jar都是用eclipse自动加载的,很多jar明显的用不到,例如:ibatis,toplink等。将无用的jar删除后问题解决