2012-04-04 27 views
2

可能重複:
Browser can't access CSS and images when calling a Servlet which forwards to a JSP使用Tomcat時要放置圖像的位置?

我知道這個問題一次又一次地問過,但我無法得到這個工作。

folder structure http://kauko.pingtimeout.net/venttiCap.JPG

我有我的圖片在WebContent/kuvat /文件夾。我還將其中一個圖像直接放入WebContent文件夾(hertta1.gif)中。但是,當我嘗試使用這樣的圖像

<img src="kuvat/hertta1.gif" /> or <img src="hertta1.gif" /> 

什麼也沒有發生。 kuvat/* gif請求的結果是404,而另一個顯然是空的響應。

GameServlet是唯一的Servlet,它被映射到'/'。因此,使用我用的地址申請書「http://localhost:8080/VenttiWeb/

我使用Tomcat7

+0

你是對的。這幾乎是一個確切的重複。 – 2012-04-05 05:48:45

回答

1

您是否嘗試過這樣的事情是什麼時候?

<img src="/kuvat/hertta1.gif" /> or <img src="/hertta1.gif" /> 

另外,硬編碼上下文路徑可能不是一個好主意。在JSP中,你可以嘗試這樣的:

<img src="${pageContext.request.contextPath}/kuvat/hertta1.gif"/> 

而且類似的東西可以從一個servlet的ServletContext使用替代的PageContext來完成。

參考:http://www.coderanch.com/how-to/java/ResourceUrlProblems

+0

這不完全是正確的答案,但我標記它無論如何,因爲它幫助我找到我的問題。我只有一個servlet,映射到'/'。當我將它改爲'/ Game'時,一切都開始奏效。任何人都可以解釋爲什麼它像那樣工作? – 2012-04-05 05:34:06

+1

當你將servlet映射到'/'時,它取代了默認的servlet,它負責發送靜態內容。由於我假設你的servlet沒有擴展或實現默認servlet的功能,Tomcat無法正確提供靜態內容。默認servlet文檔:http://tomcat.apache.org/tomcat-7.0-doc/default-servlet.html – user506069 2012-04-05 13:57:47