javaweb项目启动的时候报No WebApplicationContext found

今天一个项目启动的时候报错:No WebApplicationContext found: no ContextLoaderListener registered?

所更改的变动就是在webxml中增加了一个一个来代理类,用这个代理类实现原先的一个filter功能

<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

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

ContextLoaderListener会在启动web容器的时候自动装配springapplicationcontext的内容,再webxml.xml配置它,在启动容器的时候就会默认实现他的实现方法。所有的context的文件可以如下配置

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

也可配置多个文件

<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>


你可能感兴趣的:(javaweb项目启动的时候报No WebApplicationContext found)