我試圖在我的webapp外部顯示存儲在本地文件系統中的圖像。 以下問題:Simplest way to serve static data from outside the application server in a Java web application在JSP中顯示文件系統存儲的圖像
編輯:我想文件被外面的web應用導致這些圖片是由網友上傳,如果我把它們裏面的webapp,當我重新部署Web應用程序
我可能會失去他們但該文件未顯示在網頁上。當我嘗試打開文件:localhost:8080/images/imageName.jpg它給我一個資源不可用的錯誤。
我在server.xml中添加上下文(運行通過量服務器 - > Config-> server.xml中):
........
<Context docBase="DMSystemV1.0" path="/DMSystemV1.0" reloadable="true" source="org.eclipse.jst.jee.server:DMSystemV1.0"/>
<Context docBase="/Projects/SpringExample/Images" path="/images"/>
</Host>
也是我的web.xml看起來是這樣的:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DMSystem</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DMSystem</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
,我想讓它變得顯示的地方:<img src="/images/${imagePath}" alt="Item's image">
Mytomcat是:F:\ SOFTWARE \服務器\ tomcat7 \ tomcat7 雖然圖像文件夾爲:F:\項目\ SpringExample \ Images
圖像路徑是相對於tomcat文件夾?
此外,現在寫我對上傳路徑(在我的上傳servlet中)和server.xml中的下載路徑進行硬編碼,有沒有辦法將它們提供爲配置或設置信息?
*「我試圖顯示存儲在本地文件系統之外的圖像在我的web應用程序之外。」*爲什麼不將圖像包含在Web應用程序中? –
雖然有解決方法,但Web應用程序通常不應/通常不應訪問本地文件系統。您必須編寫攔截請求的內容,從文件系統加載映像並將其返回。 – GreyBeardedGeek
@AndrewThompson:因爲這些圖片是由用戶上傳的,如果我重新部署web應用,它們可能會被刪除 – Sudh