java.lang.ClassNotFoundException: org.springframework.web.content.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4823)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1113)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1671)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
这个是applicationContext.xml 文件:
<?xml version="1.0" encoding="GBK"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
<!--配置数据源-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" lazy-init="true">
<property name="driverClassName">
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
</property>
<property name="url">
<value>jdbc:sqlserver://127.0.0.1:1444;DatabaseName=school</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value>biao12</value>
</property>
<!-- 连接池启动时的初始值 -->
<property name="initialSize">
<value>3</value>
</property>
<!-- 连接池的最大值 -->
<property name="maxActive">
<value>500</value>
</property>
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property name="maxIdle">
<value>2</value>
</property>
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle">
<value>1</value>
</property>
</bean>
<!--配置会话工厂-->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<!-- 引用dataSource数据源 -->
<property name="dataSource">
<ref bean="dataSource" />
</property>
<!-- 配置数据连接的properties文件,包括选择数据库、已经是否打印sql语句,当object对象属性改变时是否更新数据库列 等 -->
<property name="hibernateProperties">
<props>
<!-- key的名字前面都要加hibernate. -->
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name = "mappingResources">
<list>
<value>domain/Student.hbm.xml</value>
<value>domain/Grade.hbm.xml</value>
<value>domain/Course.hbm.xml</value>
</list>
</property>
</bean>
<!--配置事务管理器-->
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<tx:annotation-driven transaction-manager="txManager" />
<bean id = "studentDao" class = "dao.StudentDaoImp">
<property name = "sessionFactory" ref = "sessionFactory"/>
</bean>
<bean id = "studentService" class = "service.StudentServiceImp">
<property name = "studentDao" ref = "studentDao"/>
</bean>
<bean id = "studentAction" class = "webtier.StudentAction">
<property name = "studentService" ref = "studentService"/>
</bean>
</beans>
这个是其中一个持久化类的配置文件:
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name = "domain.Student" table = "student" lazy = "false">
<id name = "id" type = "java.lang.Integer">
<column name = "id"/>
<generator class = "native"/>
</id>
<property name = "sname" type = "java.lang.String">
<column name = "sname" not-null = "true"/>
</property>
<property name = "departname" type = "java.lang.String">
<column name = "departname"/>
</property>
<property name = "specialty" type = "java.lang.String">
<column name = "specialty"/>
</property>
<!--类 Student 和 类 Grade 一对多关联-->
<set name = "grade" table = "grade" cascade = "save-update" lazy = "false" inverse = "true">
<key column = "student_id"/>
<one-to-many class = "domain.Grade"/>
</set>
</class>
</hibernate-mapping>
17 个解决方案
#1
查看web.xml看看是否遗漏配置信息,看看过滤器和监听器
#2
#3
把异常多粘贴点吧。目前只知道找不到某个类,范围太大,排查比较费劲。
#4
java.lang.ClassNotFoundException: org.springframework.web.content.ContextLoaderListener
没有spring-context*.jar包。不过全楼主别用spring了,数据源死锁根本没法解决
没有spring-context*.jar包。不过全楼主别用spring了,数据源死锁根本没法解决
#5
回复@yys79
不是吧,可是我要整合三大框架的哟,不弄spring 不行的哟
不是吧,可是我要整合三大框架的哟,不弄spring 不行的哟
#6
回复@lixiaohua886
可是异常也就那么多了,没有别的异常提示了
可是异常也就那么多了,没有别的异常提示了
#7
spring的jar包放到WEB-INF/lib下了吗?
#8
回复@HeLiang7
放了,已经都
放了,已经都
#9
不行?那你就等着出问题吧,起码死锁问题现在是没法解决的。除非你不用
#10
你好吃纯为了玩弄也就弄了。可是搞框架一般都是为了用吧,为了解决问题。可前面明显有个坑,你还往里跳,那就没办法了
#11
缺少jar吧,报类没找到.你加我吧619066780.我晚上帮你解决
验证信息填csdn
验证信息填csdn
#12
回复@u011431550
好的,谢谢你,我现在就加你,你晚上什么时候有空???
好的,谢谢你,我现在就加你,你晚上什么时候有空???
#13
你这看spring的配置文件干嘛呢?明显是web.xml里面配置错了 或是没有配置spring的监听
#14
有的,web.xml 有配置监听的
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<listener>
<listener-class>
org.springframework.web.content.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Struts2 核心拦截器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<listener>
<listener-class>
org.springframework.web.content.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Struts2 核心拦截器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
#15
上面那个就是web.xml 配置文件
#16
貌似我以前也遇到这个问题,我的问题最主要是因为在加入jar包时,自己弄了文件夹了,将spring struts hibernate这些包都放在各自的文件夹下,再放进lib下。我在myeclipse10中用的时候是没有事情的 但是那时候放在myeclipse2013下时,就出现问题了。貌似也是报这个监听器的错误,后来的解决办法是:将spring struts等jar包直接放在lib目录下,问题就解决了! 分析过可能的原因是:1、jar包没有真正地部署到tomcat下,可能原因是一些版本的myeclipse不能识别文件夹 2、可能原因是由于jar包的冲突问题,我自己那时候三个框架时的jar包 各自的版本有高低, 全部从文件夹中释放出来后,一部分低版本的jar包被覆盖,也有可能是这个原因。 反正当时我就分析出这两个原因,并且这样解决了 希望对楼主有用~~
#17
这个错误我解决了,各位,感谢大家,是我的持久化类配置文件出错了,因为持久化类配置文件是我自己在myeclipse 上配置的,出错了总是找不出来,这里,给个小小的提示,以后,做项目时,最好先在数据库里建好表,然后通过myeclipse 强大的反向工具,自动生成持久化类和对于持久化类的配置文件,这样,就不会有错的了,希望对整合三大框架的友们有用,呵呵。
#1
查看web.xml看看是否遗漏配置信息,看看过滤器和监听器
#2
#3
把异常多粘贴点吧。目前只知道找不到某个类,范围太大,排查比较费劲。
#4
java.lang.ClassNotFoundException: org.springframework.web.content.ContextLoaderListener
没有spring-context*.jar包。不过全楼主别用spring了,数据源死锁根本没法解决
没有spring-context*.jar包。不过全楼主别用spring了,数据源死锁根本没法解决
#5
回复@yys79
不是吧,可是我要整合三大框架的哟,不弄spring 不行的哟
不是吧,可是我要整合三大框架的哟,不弄spring 不行的哟
#6
回复@lixiaohua886
可是异常也就那么多了,没有别的异常提示了
可是异常也就那么多了,没有别的异常提示了
#7
spring的jar包放到WEB-INF/lib下了吗?
#8
回复@HeLiang7
放了,已经都
放了,已经都
#9
不行?那你就等着出问题吧,起码死锁问题现在是没法解决的。除非你不用
#10
你好吃纯为了玩弄也就弄了。可是搞框架一般都是为了用吧,为了解决问题。可前面明显有个坑,你还往里跳,那就没办法了
#11
缺少jar吧,报类没找到.你加我吧619066780.我晚上帮你解决
验证信息填csdn
验证信息填csdn
#12
回复@u011431550
好的,谢谢你,我现在就加你,你晚上什么时候有空???
好的,谢谢你,我现在就加你,你晚上什么时候有空???
#13
你这看spring的配置文件干嘛呢?明显是web.xml里面配置错了 或是没有配置spring的监听
#14
有的,web.xml 有配置监听的
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<listener>
<listener-class>
org.springframework.web.content.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Struts2 核心拦截器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<listener>
<listener-class>
org.springframework.web.content.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Struts2 核心拦截器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
#15
上面那个就是web.xml 配置文件
#16
貌似我以前也遇到这个问题,我的问题最主要是因为在加入jar包时,自己弄了文件夹了,将spring struts hibernate这些包都放在各自的文件夹下,再放进lib下。我在myeclipse10中用的时候是没有事情的 但是那时候放在myeclipse2013下时,就出现问题了。貌似也是报这个监听器的错误,后来的解决办法是:将spring struts等jar包直接放在lib目录下,问题就解决了! 分析过可能的原因是:1、jar包没有真正地部署到tomcat下,可能原因是一些版本的myeclipse不能识别文件夹 2、可能原因是由于jar包的冲突问题,我自己那时候三个框架时的jar包 各自的版本有高低, 全部从文件夹中释放出来后,一部分低版本的jar包被覆盖,也有可能是这个原因。 反正当时我就分析出这两个原因,并且这样解决了 希望对楼主有用~~
#17
这个错误我解决了,各位,感谢大家,是我的持久化类配置文件出错了,因为持久化类配置文件是我自己在myeclipse 上配置的,出错了总是找不出来,这里,给个小小的提示,以后,做项目时,最好先在数据库里建好表,然后通过myeclipse 强大的反向工具,自动生成持久化类和对于持久化类的配置文件,这样,就不会有错的了,希望对整合三大框架的友们有用,呵呵。