`

spring ContextLoaderListener的作用 .

 
阅读更多

原文地址:http://lei2006.blog.sohu.com/116206469.html 
1 Spring之ContextLoaderListener的作用 


使用spring除了添加必要的jar包,另外在web.xml一定要加上启动spring的监听器,这样配置在xml文件中的bean才会初始化 

如你在web.xml这样作了配置:(web.xml 2.4) 

Java代码  收藏代码
  1. <listener>  
  2.         <listener-class>  
  3.             org.springframework.web.context.ContextLoaderListener  
  4.         </listener-class>  
  5.     </listener>     


它会默认查找位于:WEB-INF/下的是否有一个文件名称为:applicationContext.xml 
如果没有就会报错: 
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener 
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml] 
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:509)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:427) 
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:294) 
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:215) 
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4521) 
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5004) 
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:4999) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:619) 
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml] 
at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:117)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
... 20 more
 
但在很多项目中可能会把配置文件集中管理,常见位置在:classpath下面,这样的话,你要在web.xml中在配置另外一个节点名称: 

Java代码  收藏代码
  1. <context-param>  
  2.         <param-name>  
  3.             contextConfigLocation  
  4.         </param-name>  
  5.         <param-value>  
  6.             classpath*:applicationContext.xml  
  7.         </param-value>  
  8.     </context-param>  

 

分享到:
评论

相关推荐

    java解决org.springframework.web.context.ContextLoaderListener

    在Java Web开发中,`org.springframework.web.context.ContextLoaderListener` 是Spring框架的一部分,它负责初始化一个Web应用程序的Spring上下文。这个监听器是基于Servlet容器(如Tomcat、Jetty等)的,当Web应用...

    spring-web-2.5.jar

    org.springframework.web.context.ContextLoaderListener.class org.springframework.web.context.ContextLoaderServlet.class org.springframework.web.context.ServletConfigAware.class org.springframework.web....

    Spring的监听器ContextLoaderListener的作用

    Spring 的监听器 ContextLoaderListener 的作用 ContextLoaderListener 是 Spring 框架中的一种监听器,它的主要作用是启动 Web 容器时,自动装配 ApplicationContext 的配置信息。它实现了 ServletContextListener...

    spring MVC配置详解

    org.springframework.web.context.ContextLoaderListener &lt;param-name&gt;contextConfigLocation &lt;param-value&gt;classpath:config/applicationContext.xml ``` 四、spring-servlet.xml 配置 spring-servlet....

    spring_MVC源码

    09. &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt; 10. &lt;/listener&gt; 11. 12. &lt;servlet&gt; 13. &lt;servlet-name&gt;spring&lt;/servlet-name&gt; 14. &lt;servlet-class&gt;org.spring...

    Web项目中使用Spring, 使用 Spring 的器监听器 ContextLoaderListener.docx

    【Spring在Web项目中的应用】 ...同时,通过监听器`ContextLoaderListener`,可以在Web容器启动时自动加载Spring配置,确保在整个Web应用程序生命周期中,Service层和其他Spring管理的bean都可以正确地被创建和管理。

    webwork-spring-hibernate.rar_spring_webwork

    5. **部署描述符**:在web.xml中,需要配置DispatcherServlet、Filter(如Spring的ContextLoaderListener和DelegatingFilterProxy)来启动Spring应用上下文,并将请求转发给WebWork。 6. **测试与调试**:配置完成...

    Spring_MVC.rar_T7Y_springmvc

    - **web.xml**:Web应用的部署描述符,配置Spring MVC的DispatcherServlet和ContextLoaderListener。 - **spring-servlet.xml**:Spring MVC的核心配置文件,定义了Bean的配置,如Controller、HandlerMapping、...

    flex和spring和hibernate.doc

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener ``` 然后,为了使Flex与Spring进行通信,我们需要创建一个工厂类,例如`SpringFactory`,实现Flex的`FactoryInstance`和`FlexFactory`...

    WEB高级编程实验报告之Spring-MVC.doc

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener &lt;!-- Spring MVC 配置 --&gt; &lt;servlet-name&gt;spring &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet ...

    CXF结合Spring实现WebService.doc

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener &lt;servlet-name&gt;CXFServlet &lt;servlet-class&gt;org.apache.cxf.transport.servlet.CXFServlet ... ``` 在上面的代码中,我们定义了...

    spring在web.xml中和在struts中的不同配置.[收集].pdf

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener ``` `ContextLoaderListener`监听Web应用程序的启动和结束,它在服务器启动时加载`contextConfigLocation`指定的配置文件,并创建...

    一个简单的spring mvc实例.docx

    2. **listener**:`ContextLoaderListener` 是一个监听器,负责加载应用上下文,解析上面提到的配置文件,并初始化Spring容器。 3. **filter**:`CharacterEncodingFilter` 过滤器确保所有的HTTP请求都以指定的编码...

    SPRING API 2.0.CHM

    ContextLoaderListener ContextLoaderPlugIn ContextLoaderServlet ContextRefreshedEvent ContextSingletonBeanFactoryLocator ControlFlow ControlFlowFactory ControlFlowFactory.Jdk13ControlFlow ...

    Struts2整合spring的步骤.txt

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener ``` 6. **创建Spring核心配置文件** - 在`WEB-INF`目录下创建Spring的核心配置文件`applicationContext.xml`。 - 在该文件中定义...

    精品专题(2021-2022年收藏)spring项目中监听器作用.doc

    本文将深入探讨Spring框架中的监听器,特别是`ContextLoaderListener`的作用及其配置。 `ContextLoaderListener`是Spring框架提供的一个核心监听器,主要用于初始化和销毁Spring的WebApplicationContext。它是...

    Struts-spring-Hibernate.

    在web应用启动时,可以通过在web.xml中配置监听器`ContextLoaderListener`或者`ContextLoaderPlugIn`来初始化Spring的IOC容器。 - **初始化Spring容器**: - 第一种方法是在web.xml中配置`ContextLoaderListener`...

    jsf+spring+hibernate.pdf

    在web.xml中,我们定义了一个Spring的ContextLoaderListener,它会在应用启动时加载ApplicationContext.xml配置文件。同时,还配置了JSF的FacesServlet,用于处理JSF的请求。`load-on-startup`设置为0,意味着该...

    MyEclipse Spring 快速入门.rar

    接着,配置项目的Spring支持,这通常涉及在Web.xml中声明Spring的DispatcherServlet和ContextLoaderListener。 4. **Spring Bean的配置** Spring通过XML配置文件来定义和管理Bean。在创建的项目中,我们需要创建一...

    spring在web.xml中和在struts中的不同配置..pdf

    通常推荐使用`ContextLoaderListener`,因为它更早地初始化ApplicationContext,使得Spring可以更早地参与到应用的生命周期中。 `ContextLoaderListener`的`contextInitialized`方法会调用`createContextLoader()`...

Global site tag (gtag.js) - Google Analytics