使用WebApplicationContextUtils.getWebApplicationContext(ServletContext cn)獲取WebApplicationContext為null
阿新 • • 發佈:2019-02-02
在使用SpringMVC搭建demo時再使用WebApplicationContextUtils.getWebApplicationContext(ServletContext cn )方法獲取WebApplicationContext物件時獲取到的是空,可能的原因是因為在Web.xml中沒有配置ContextLoaderListener監聽或者沒有配置ContextLoaderServlet的Servlet的類。
原理:伺服器在啟動時會讀取Web.xml中的配置的監聽,而ContextLoaderListener這個監聽類的職責就是自動封裝WebApplicationContext物件,由於沒有配置該監聽所有獲取到物件是null。
解決方案:
在Web.xml中配置以下監聽:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>