java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet服务器启动报异常

来源:互联网 发布:iphone写日记的软件 编辑:程序博客网 时间:2024/06/05 21:54

今天配置的Tomcat服务器,启动springMVC项目,报Java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet异常,还有异常:java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderServlet等异常,解决问题网上查了很多资料,特意总结如下:

 

情况1:

WebApplicationContext wctx=WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); 
我的spring-web.jsr的包已经加上了,为什么程序运行时,找不到WebApplicationContextUtils类呢? 
有一个教程上说了这样的一句话,我不理解是什么意思“在Action初始化时获得一个应用程序上下文。重用spring的WebApplicationContextUtils类,如果没有可用的上下文,该动作不会正确的初始化”。

 

情况2:

就是你的项目可能经过clean以后,部署项目时项目没有自动编译成.class文件,右键单击项目-build project,进行手动编译

 

情况3:

spring框架有自已内在一套映射机制,楼主的问题是由于没有找到相应的映射BEAN引用而产生! 
<context-param> 
<param-name>contextconfiglocation</param-name> 
<param-value>com/test/servlet.xml</param-value> 
</context-param> 


情况4:

 

你用的是hibernate3.0吧! 但你的spring配置文件中不是 
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> 
应该是: 
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
你试试!

 

情况5:

关键字: Spring与Web应用集成的方法细讲

1、将spring的相关jar包,拷贝到web应用的WEB-INF/lib目录下 
2、修改web.xml,让应用服务器自动加载spring的BeanFactory对象 

    <context-param>           <param-name>contextConfigLocation</param-name>           <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>       </context-param>       <listener>            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>       </listener>   


3、在web组件里,可以使用WebApplicationContextUtils工具类来 获得BeanFactory对象的实例,拥有了BeanFactory对象,就拥有 了spring的容器管理的能力。 
解释: 
   这种配置的结果是,spring通过ContextLoaderListener将WebApplicationContext对象 
   (BeanFactory的子类)放入ServletContext中,并取名为一个静态变量的值: 
   WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE 
   * 通过WebApplicationContextUtils.getApplicationContext()方法就可以获得WebApplicationContext
对象的值 
* 或者通过request.getSession().getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICAT


0 0
原创粉丝点击