1. 程式人生 > >web.xml配置檔案中ContextLoaderListener的作用

web.xml配置檔案中ContextLoaderListener的作用

在搭建ssm框架的時候,在web.xml配置檔案中配置監聽器listener,它的作用是在啟動web容器時,自動裝配Spring的applicationContext.xml的配置資訊。ContextLoaderListener繼承ContextLoader類,所以載入applicationContext.xml的配置檔案過程中由ContextLoader類來完成

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

那麼,在配置applicationContext.xml的過程中,如果在web.xml中不寫任何引數配置資訊,預設的路徑是/WEB-INF/applicationContext.xml,在WEB-INF目錄下建立的xml檔案的名稱必須是applicationContext.xml。

  1. 如果是要自定義檔名可以在web.xml里加入contextConfigLocation這個context引數
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param
-value>/WEB-INF/classes/applicationContext-*.xml</param-value> </context-param>

在param-value裡指定相應的xml檔名,如果有多個xml檔案,可以使用“,”號分隔。如上面的applicationContext-*.xml採用萬用字元,比如這那個目錄下有applicationContext-mybatis.xml,applicationContext-hessian.xml,applicationContext-logic.xml等檔案,都會一同被載入。

  1. 如果applicationContext.xml檔案沒有在/WEB-INF/下,或檔名不一致,或存在多個Spring配置檔案,在web.xml檔案中根據下面程式碼修改
<context-param>  
  <param-name>contextConfigLocation</param-name>  
      <param-value>
          classpath*:applicationContext-*.xml,
         /WEB-INF/classes/applicationContext-*.xml 
    <param-value>  
 </context-param>