JavaSpringMVC从应用程序上下文外部访问静态资源
我有一个web应用程序,其中每个JSP都应该链接到一个帮助pdf文件。这些文件位于web容器/应用程序上下文之外,但位于同一服务器内
我试图使用spring mvc资源标签访问它们,但仍然无法访问pdf文件
感谢您的帮助
以下是配置 在windows环境中,文件位于 C:\workspace\shared\data\help[所有PDF都在这里]
我创建了一个jvm参数来访问文件-
JVM参数
-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
# 1 楼答案
你只需要对SpEL语法进行一个小的修改
对于JVM参数:
用前导斜杠和尾随斜杠来完成所有工作
见:http://wordgraphs.com/post/1751/Serving-a-resource-from-outside-the-context-root-in-Spring-MVC 和Spring Expression Language (SpEL)