javaweb項目啓動的時候報No WebApplicationContext found

今天一個項目啓動的時候報錯:No WebApplicationContext found: no ContextLoaderListener registered?web

所更改的變更就是在webxml中增長了一個一個來代理類,用這個代理類實現原先的一個filter功能
spring

<filter>
    <filter-name>ssoFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    <init-param>
        <param-name>targetFilterLifecycle</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>targetBeanName</param-name>
        <param-value>ssoFilter</param-value>
    </init-param>
</filter>


解決方案很簡單,增長一個linster
shell

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

ContextLoaderListener會在啓動web容器的時候自動裝配springapplicationcontext的內容,再webxml.xml配置它,在啓動容器的時候就會默認實現他的實現方法。全部的context的文件能夠以下配置app

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext-*.xml
</param-value>
</context-param>

也可配置多個文件spa

<context-param>  
  <param-name>contextConfigLocation</param-name>  
  <param-value>classpath*:applicationContext-*.xml,/WEB-INF/applicationContext.xml,/WEB-INF/classes/applicationContext-*.xml  
lt;/param-value>  
 </context-param>
相關文章
相關標籤/搜索