2011-05-18 61 views
6

ResourceServlet的JavaDoc聲明它可以返回資源列表。但這種使用模式的例子似乎很少。使用Spring ResourceServlet同時爲多個資源服務

我們有如下一個web.xml:

<servlet> 
    <servlet-name>Resource</servlet-name> 
    <servlet-class>org.springframework.web.servlet.ResourceServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>Resource</servlet-name> 
    <url-pattern>/combo</url-pattern> 
</servlet-mapping> 

當我們主動要求的線沿線的網址: http://localhost:8080/app/combo?resource=js/file1.js;js/file2.js

我們似乎只拿到文件1的響應。

這個用例的正確配置是什麼?

回答

1

我們的例子中的問題原來是應用程序使用mvc:resource工具來處理靜態文件的版本控制。 mvc:resource工具的後端不會像Bosho指出的那樣正確地響應多個文件,而且我也注意到了源代碼。

2

ResourceServlet已棄用,偏向於使用<mvc:resources />但是,它不處理多個資源。你必須讓自己的控制器來做到這一點。

至於ResourceServlet,代碼中使用的分隔符是,; \t\n - 它們中的任何一個都可以工作。

+0

我看到並閱讀了源代碼,如果你看看上面的例子,你會看到我們使用分號作爲分隔符。不幸的是,它似乎只返回第一個資源。 – Matt 2011-05-18 17:37:19

+0

你可以用調試器來瀏覽spring代碼嗎?我沒有看到失敗的理由 – Bozho 2011-05-18 17:38:37

相關問題