2014-10-31 63 views
1

我有一個Web應用程序,其中每個JSP都應鏈接到幫助pdf文件。這些文件位於Web容器/應用程序上下文之外,但位於同一臺服務器中。Spring MVC - 從應用程序上下文外部訪問靜態資源

我想使用spring mvc資源標籤訪問它們,但我仍然無法訪問pdf文件。

任何幫助表示讚賞。

下面是配置 在Windows ENV,文件位於 C:\工作區\共享\ DATA \幫助[所有PDF在這裏]

我創建了一個JVM參數來訪問文件 -

JVM參數

-Dhelp.dir=/workspace/shared/data/help 

Spring MVC的資源標籤 -

<mvc:resources mapping="/help/*" location="file:/#{systemProperties.help.dir}/"/> 

我得到一個404錯誤,而試圖訪問PDF(S)

的Glassfish/JDK 1.6

當我點擊了鏈接,生成的URL是 -

http://localhost:8080/workspace/shared/data/help/abc.pdf 

我的實際網頁應用程序上下文是這樣的 -

http://localhost:8080/MyApp 
+0

你應該表現出你輸入的準確網址瀏覽器和與請求相對應的日誌。 – 2014-10-31 16:19:07

+0

如果輸入「http:// localhost:8080/MyApp/help/abc.pdf」會怎麼樣? – 2014-10-31 16:50:16

+0

我得到了一個404錯誤,並且在日誌中沒有任何東西 – jagamot 2014-10-31 17:11:41

回答

0

你只需要一個小的修復與規劃環境地政司語法,

<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-MVCSpring Expression Language (SpEL)

+0

我已經看過這個鏈接。我的窗戶,它是有道理的添加c:\但在Unix或Linux如何。 – jagamot 2014-10-31 17:31:47

+0

如果這是一臺Linux服務器,該怎麼辦? – jagamot 2014-10-31 22:00:49

+0

@JAGAMOT的答案是編輯,'文件:/絕對/路徑/到/資源/文件夾/'應該適用於Linux和Windows,我也只是想出你使用錯誤的語法爲SpEL和一個額外的引導斜線你的JVM參數。 – Megalodon 2014-11-01 02:20:14

相關問題