我有一个Web应用程序,其中每个JSP都应链接到帮助pdf文件。这些文件位于Web容器/应用程序上下文之外,但位于同一服务器中。
我正在尝试使用spring mvc资源标记访问它们,但我仍然无法访问pdf文件。
感谢任何帮助。
这是配置 在Windows环境中,文件位于 C:\ workspace \ shared \ data \ help [所有pdf都在这里]
我创建了一个jvm参数来访问文件 -
JVM Argument
-Dhelp.dir=/workspace/shared/data/help
spring mvc资源标记 -
<mvc:resources mapping="/help/*" location="file:/#{systemProperties.help.dir}/"/>
我在尝试访问pdf时遇到404错误
Glassfish / JDK 1.6
当我点击链接时,生成的URL是 -
http://localhost:8080/workspace/shared/data/help/abc.pdf
我的实际Web应用程序上下文是这样的 -
http://localhost:8080/MyApp
答案 0 :(得分:0)
您只需要一个使用SpEL语法的小修补程序
<mvc:resources mapping="/help/*" location="file:#{systemProperties['help.dir']}"/>
和JVM参数:
-Dhelp.dir=/workspace/shared/data/help/
使用前导和尾随斜杠来完成所有工作
见:http://wordgraphs.com/post/1751/Serving-a-resource-from-outside-the-context-root-in-Spring-MVC 和Spring Expression Language (SpEL)