2012-02-20 136 views
5

我無法在JSP中顯示圖像(並且無法通過SRC訪問外部Javascript/jQuery等其他內容)。以下JSP頁面僅包含一個<img>標記,該標記無法顯示SRC定位的圖像。無法在JSP中顯示圖像

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 
     <form action="Temp.htm" method="post"> 
      <img src="/images/temp.jpg" alt="Not available"> 
     </form> 
    </body> 
</html> 

圖片在/WEB-INF/jsp/images。我也嘗試改變圖像位置,並確保所有給SRC的路徑是正確的,但仍然沒有。 對於沒有框架的應用程序也是如此。它在那裏完美地工作。我在這裏錯過了什麼?

+2

你應該意識到這有絕對無關,與Spring和Hibernate開始。 – 2012-02-20 18:32:42

回答

10

首先,/WEB-INF不能從外部訪問。其次,如果您使用/images/temp.jpg,瀏覽器將從Web服務器的根目錄加載圖像,而不是從web-app的根目錄(部署在上下文路徑下)加載圖像。

使用JSTL <c:url>標籤從web應用的根目錄生成絕對路徑:

<img src="<c:url value='/images/temp.jpg'/>" alt=.../> 
5

您無法直接從網站訪問位於/WEB-INF/中的文件。該文件夾受到網絡訪問的保護。

在其他地方找到您的圖像文件。 /images/temp.jpg是絕對路徑,但您可能需要一個相對路徑。將圖像路徑指向image/temp.jpg,並將圖像放置在直接位於Web根目錄下的/images/文件夾中。例如。 WebContent/imagessrc/main/webapp/images(取決於您的網站根目錄)。

2

嘗試放在webapp目錄中,而不是WEB-INF。 OBV。不要在jsp目錄中嵌套。