2012-09-26 247 views
0

我有一個spring項目,其中,在linux/tomcat6服務器上,我們有一個外部文件夾用於「/var/projectname/personphotos」中的人物照片。試圖做一個符號鏈接之類的東西似乎沒有工作,應用程序無法看到外部文件夾。我碰巧遇到<mvc:resources>標籤和<mvc:annotation-driven />。我該如何將它添加到項目中? 我想這樣Spring MVC - mvc資源

<mvc:resources mapping="/personphotos/" location="/var/projectname/personphotos" />

,並在應用程序中,我可以有一些像<img src="/personphotos/bla-bla.jpg"/>

的教程都說要使用標籤,但他們不說在哪裏把它。我假定這個位置必須被理解,請原諒我的無知。我試着將它添加到applicationcontext.xml中,併發生錯誤。其他教程都說要編輯servlet-context.xml,無論它在哪裏?看到here

我使用彈簧3.0.7 STS和我試圖改變到3.1.0在POM文件。版本更改導致mvn tomcat:運行以提供一些錯誤。我看到mvc:resource tage在3.0.4或更高版本中可用,我想我現在是安全的。請幫助澄清這些歧義。

回答

2

它是在你的servlet-context.xml文件,大概是這樣的:

<mvc:resources mapping="/personphotos/**" location="/var/projectname/personphotos" /> 

,您可以使用訪問:

<img src="${pageContext.request.contextPath}/personphotos/bla-bla.jpg"/> 

起始部分以確保您的應用程序上下文部分也會被添加。

編輯 爲他人謀取利益,這是工作的最後一件事是

<mvc:resources mapping="/personphotos/**" location="file:/var/projectname/personphotos" /> 
+0

我無法找到一個名爲servlet的context.xml中在我的項目文件。除了在「src/main/resources/META-INF/spring/applicationcontext.xml」中有applicationcontext.xml外,我可以在「src/main/webapp/META-INF」中找到context.xml。我不知道在哪裏可以找到servlet-context.xml – Binaryrespawn

+0

是的,我的意思是你已經註冊到DispatcherServlet的上下文文件,查看你的web.xml,你應該看到一個DispatcherServlet條目,init-param值應該指示它使用哪個應用程序上下文文件 - 它應該是您指示的context.xml文件 –

+0

你是對的,我找到了正確的文件。我試圖ti測試,如果它在Windows上工作,但我不geting圖像加載在這裏是我的條目不知道我是否做得正確。 – Binaryrespawn