Spring 過濾器DelegatingFilterProxy No WebApplicationContext found: no ContextLoaderListener registered?
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-`======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永無BUG 永不修改 //
專案場景:
在web.xml配置springMVC相關屬性時出現報錯
問題描述:
java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener or DispatcherServlet registered?
原因分析:
該錯誤說明ContextLoaderListener 沒有註冊,需要在web.xml檔案中新增org.springframework.web.context.ContextLoaderListener,具體可以參看
解決方案:
執行順序問題
方法一
報錯配置
<!--配置springMVC-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定配置檔案位置和名稱 如果不設定,預設找/WEB-INF/<servlet-name>-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
正確配置
<!--配置springMVC-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定配置檔案位置和名稱 如果不設定,預設找/WEB-INF/<servlet-name>-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC.xml</param-value>
</init-param>
<!-- 就是這裡 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
- load-on-startup元素標記容器是否在啟動的時候就載入這個servlet(例項化並呼叫其init()方法)。
- 它的值必須是一個整數,表示servlet應該被載入的順序
- 當值為0或者大於0時,表示容器在應用啟動時就載入並初始化這個servlet;
- 當值小於0或者沒有指定時,則表示容器在該servlet被選擇時才會去載入。
- 正數的值越小,該servlet的優先順序越高,應用啟動時就越先載入。
- 當值相同時,容器就會自己選擇順序來載入。
所以,<load-on-startup>X</load-on-startup>,中X的取值1,2,3,4,5代表的是優先順序,而非啟動延遲時間。
方法二
把這塊配置放到最前面去
<!--配置springMVC-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定配置檔案位置和名稱 如果不設定,預設找/WEB-INF/<servlet-name>-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
推薦兩個文章
web.xml 中的listener、 filter、servlet 載入順序及其詳解
org.springframework.web.context.ContextLoaderListener
相關文章
- No WebApplicationContext found: no ContextLoaderListener or DispatcherServlet registeredWebAPPContextServlet
- Spring Cloud Gateway ---GatewayFilter過濾器、過濾器工廠(入門)SpringCloudGatewayFilter過濾器
- Spring 過濾器和攔截器Spring過濾器
- Spring Cloud Gateway中的過濾器工廠:重試過濾器SpringCloudGateway過濾器
- Spring Cloud Gateway 之 過濾器SpringCloudGateway過濾器
- Spring Security過濾器鏈體系Spring過濾器
- Spring Security 核心過濾器鏈分析Spring過濾器
- spring中的過濾器與攔截器Spring過濾器
- 過濾Servlet--過濾器Servlet過濾器
- Spring Cloud Gateway---自定義過濾器SpringCloudGateway過濾器
- Spring Boot實戰:攔截器與過濾器Spring Boot過濾器
- spring ContextLoaderListener的作用SpringContext
- 過濾器過濾器
- Spring WebApplicationContext 介紹SpringWebAPPContext
- 4、過濾器的使用及自定義過濾器過濾器
- 點雲濾波器與過濾器過濾器
- spring boot 新增自定義監聽器、過濾器、攔截器Spring Boot過濾器
- 代理過濾器過濾器
- Vue過濾器Vue過濾器
- vue 過濾器Vue過濾器
- Filter過濾器Filter過濾器
- hbase過濾器過濾器
- CAN過濾器過濾器
- Servlet過濾器Servlet過濾器
- 26、過濾器過濾器
- jms過濾器過濾器
- Spring Cloud Gateway自定義Token校驗過濾器SpringCloudGateway過濾器
- Spring Security配置個過濾器也這麼卷Spring過濾器
- Xor過濾器:比布隆Bloom過濾器更快,更小過濾器OOM
- Initializing Spring root WebApplicationContextSpringWebAPPContext
- 21. Spring Boot過濾器、監聽器【從零開始學Spring Boot】Spring Boot過濾器
- asp.net core MVC 過濾器之ActionFilter過濾器(二)ASP.NETMVC過濾器Filter
- 誠翔濾器光刻膠過濾器濾芯:保障光刻過程的高效與安全過濾器
- Spring Security系列之核心過濾器原始碼分析(四)Spring過濾器原始碼
- Vue中過濾器Vue過濾器
- 布隆過濾器過濾器
- vue---過濾器Vue過濾器
- PHP 過濾器(Filter)PHP過濾器Filter