2012-09-26 201 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