2011-05-12 96 views
2

在我的Spring web應用程序中,我已將/app/*映射到調度程序servlet。什麼是該場景中的最佳方法images.js,.css等靜態內容從調度程序中分離出來?Spring:DispatcherServlet和靜態內容

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>/app/*</url-pattern> 
</servlet-mapping> 

例如,當我打開網址:http://server/context/app/users和users.jsp有<img src="images/test.png"/>我沒有得到任何圖像,因爲http://server/conext/app/users/images/test.png是不是一個正確的網址。

現在我使用絕對路徑,如:<img src="/context/images/test.png"/>,但它使JSP代碼稍微複雜一些,並更好地搜索某些內容。

回答

6

您可以使用<mvc:resources>告訴DispatcherServlet某些路徑應作爲靜態資源處理。

有關如何配置它,請參閱section 15.12.4 of the Spring 3.0.x manual

+0

是的,這是正確的,但如果資源和控制器路徑相同會發生什麼? – 2012-05-02 01:17:58

+0

答案是在xml樣式中,基於代碼的配置如何? – Timeless 2015-04-08 12:39:37

2

我使用此配置來提供靜態內容,如果沒有爲URL找到處理程序映射並僅提供該URL,該配置將默認。

<mvc:default-servlet-handler/>