2013-07-12 117 views
1

文件說:Spring MVC的:資源的多個位置

資源從哪個位置提供靜態內容,在春天資源模式指定。每個位置都必須指向一個有效的目錄。多個位置可以被指定爲逗號分隔列表,並且將按照指定的順序檢查給定資源的位置。例如,「/,classpath:/ META-INF/public-web-resources /」的值將允許從Web應用程序根目錄和類路徑上的任何JAR提供資源,這些JAR包含/ META-INF/public-web-resources /目錄,Web應用程序根目錄中的資源優先。

我真的有資源放在我的應用程序之外,像這樣:

  • 共同
    • CSS
    • JS
  • 模塊1
    • CSS
    • JS
  • 模塊2
    • ...

而且我想模塊的特定資源,可於localhost/%module_name%/resources/和公共資源可用在localhost/%module_name%/resources/common/

web-context.xml for module1我有:

<mvc:resources mapping="/resources/**" location="${spring.view.resourcesDir}/"/> 

當我設置spring.view.resourcesDir=file:///c://resources//module1請求像 localhost/module1/resources/css工作正常。

但是,當我設置

spring.view.resourcesDir=file:///c://resources//module1,file:///c://resources// 

一切休息,既localhost/module1/resources/csslocalhost/module1/resources/common/css回報錯誤。 同樣的事情發生,如果地點不嵌套,即使第二個地點是完全不同的東西像file:///d://

任何人都可以幫助我解決這個問題?

回答

0

回答你的問題是你的問題

根,從包含

它應該是你的類路徑下的類路徑上的任何JAR。當它不在你的類路徑下時,你會得到404錯誤。我不明白爲什麼你要指定一個絕對路徑?不是一個好的選擇。

+0

'file:/// c:// resources // module1'正在工作,所以它可以是絕對路徑。 – chimmi

+0

如果您在第一種情況下「bin」或「classes」目錄不包含「resources」目錄,您能確認嗎?你在'bin'或'classes'目錄的第二個場景中看到了什麼? –

+0

我的戰爭在任何地方都沒有'resources'目錄,在這兩個場景中,我都不明白爲什麼這很重要,因爲我不會從我的戰爭或類路徑中加載資源。 – chimmi