1. 程式人生 > >使用WebApplicationContextUtils.getWebApplicationContext(ServletContext cn)獲取WebApplicationContext為null

使用WebApplicationContextUtils.getWebApplicationContext(ServletContext cn)獲取WebApplicationContext為null

                在使用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>