今天一個項目啓動的時候報錯: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>