当前位置:首页 > 服务端 > spring 错误 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet

spring 错误 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet

引用:http://blog.csdn.net/xingfuzhijianxia/article/details/6433918

观察是否还有异常:java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderServlet

所以ContextLoaderServlet 没有成功加载,导致web.xml构建spring容器失败!所以在引用WebApplicationContextUtils时,出现java.lang.NoClassDefFoundError:org/springframework/web/context/support/WebApplicationContextUtils

情况1:WebApplicationContext wctx=WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); 

我的spring-web.jsr的包已经加上了,为什么程序运行时,找不到WebApplicationContextUtils类呢? 

有一个教程上说了这样的一句话,我不理解是什么意思“在Action初始化时获得一个应用程序上下文。重用spring的WebApplicationContextUtils类,如果没有可用的上下文,该动作不会正确的初始化”。

情况2:(大多数是在这,被雷到了!哈哈)

你的工程包有可能都是引用的,需要把它们都手动拷贝到工程中来!

情况3:

spring框架有自已内在一套映射机制,楼主的问题是由于没有找到相应的映射BEAN引用而产生! 
<context-param> 
<param-name>contextconfiglocation</param-name> 
<param-value>com/wenjing/hibernate/test/wenjing-servlet.xml</param-value> 
</context-param> 
这一段换一种方式试一试,可以写到spring-servlet.xml当中引用 
内容如下 
bean id="newBaseAction" class="db.PBaseAction"> 
<property name="view"><value>newBaseAction</value></property> 
</bean>   
    情况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

作者:镇水古月
来源链接:https://www.cnblogs.com/sode/archive/2012/09/19/2693360.html

版权声明:
1、Java侠(https://www.javaxia.com)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaxia.com/server/125598.html

标签: class not found
分享给朋友:

“spring 错误 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet” 的相关文章