天天看點

【spring MVC學習一】web.xml中的spring的配置

在web工程裡面使用spring時,需要在web.xml裡面配置相關的spring的上下文配置的路徑(contextConfigLocation),通常有以下幾種配置

1

2

3

4

5

6

<code>&lt;</code><code>context-param</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>param-name</code><code>&gt;contextConfigLocation&lt;/</code><code>param-name</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>param-value</code><code>&gt;</code>

<code>        </code><code>classpath*:/applicationContext.xml</code>

<code>    </code><code>&lt;/</code><code>param-value</code><code>&gt;</code>

<code>&lt;/</code><code>context-param</code><code>&gt;</code>

<code>        </code><code>classpath:/applicationContext.xml</code>

一:classpath:隻會從目前工程的class路徑下查找檔案;classpath*:不光是目前工程的class路徑,還包括所引用的jar中的class路徑。

二:如果将檔案放在了src的類相關的路徑下,也可以進行如下配置(web工程的類路徑下的東西最終在伺服器運作的時候都需要放到/WEB-INF/classes/目錄下)

<code>        </code><code>/WEB-INF/classes/applicationContext.xml</code>

三:不放在src的類相關的路徑下,可以直接放在web工程的WEB-INF目錄下,則相關的web.xml配置如下:

<code>        </code><code>/WEB-INF/applicationContext.xml</code>

四:spring的上下文配置的舉例

/WEB-INF/**/*Context.xml:/WEB-INF/**/表示WEB-INF下的任何路徑,*Context.xml表示任何以Context.xml結尾的檔案

不使用“*”号通配符時,多個配置檔案可以以空格或逗号或分号隔開來加以區分。

五:web工程在啟動時需要先初始化上下文環境

在web.xml配置ContextLoaderListener

<code>&lt;</code><code>listener</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>listener-class</code><code>&gt;org.springframework.web.context.ContextLoaderListener&lt;/</code><code>listener-class</code><code>&gt;</code>

<code>&lt;/</code><code>listener</code><code>&gt;</code>

或者設定ContextLoaderServlet的load-on-start

7

<code>&lt;</code><code>servlet</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>servlet-name</code><code>&gt;context&lt;/</code><code>servlet-name</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>servlet-class</code><code>&gt;</code>

<code>        </code><code>org.springframework.web.context.ContextLoaderServlet</code>

<code>    </code><code>&lt;/</code><code>servlet-class</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>load-on-startup</code><code>&gt;1&lt;/</code><code>load-on-startup</code><code>&gt;</code>

<code>&lt;/</code><code>servlet</code><code>&gt;</code>