2017-05-31 94 views
5

我很抱歉,我需要問這個問題,但我已經花了三天的時間來嘗試這樣做。我正在構建Java Web應用程序,我想將圖像包含到JSP頁面中。項目名稱是realestates,我有文件夾裏面的realestates文件夾。將圖像插入到jsp頁面

我的代碼是這樣的:

<img alt="govno" src="<%=request.getContextPath() + "/Files/kurac.jpg"%>" style="width: 400px; height: 300px;"> 

這是什麼獲取頁面上生成後,我在瀏覽器中打開它:

<img alt="govno" src="/realestates/Files/kurac.jpg" style="width: 400px; height: 300px;"> 

,但圖像沒有dispayed,只有ALT 「govno」寫入。我已經嘗試了很多很多路徑(相對,絕對,改變的文件夾結構百萬次,以及任何我能想到並在互聯網上找到的東西,但沒有任何幫助)。誰會說這樣的事情會這麼難呢?部署後Tomcat服務器上

文件夾結構:

webapps 
- realestates 
    |- WEB-INF 
    |- Files 
    |- kurac.jpg 
+0

加入這一行一些配置XML文件導入到JSP頁面不知道任何細節,不可能提供幫助。如果您從瀏覽器進入相同的路徑,會發生什麼情況?顯而易見的答案是,圖像不在你認爲的位置。 –

+0

我可以在瀏覽器中打開它,但我需要輸入絕對路徑文件:/// C://Users//Lazar//Documents//workspace-sts-3.8.3.RELEASE//realestates//Files//kurac .jpg,但正如我在瀏覽器中的問題中所寫,我得到了src =「/ realestates/Files/kurac.jpg」。這個可以嗎? –

+0

我更新了我的問題。我讀過的文件路徑不能位於OS文件系統的某處,它必須位於服務器上的某個位置。在我甚至沒有將鏡像部署到服務器之前。我試圖將它從服務器引用到文件系統上的某個位置。 –

回答

3

這裏有一個傢伙在不到一分鐘解釋它。

https://www.youtube.com/watch?v=dwjwSYOrnS8

所以兩兩件事是必需的:

1。

<mvc:resources location="/files/" mapping="/files/**"></mvc:resources> 

2.Include圖像與該行

<img src='<c:url value="/files/korali.jpg"></c:url>' />  
0

我讀了你的問題,我對你的問題的一個解決方案,你可以使用的輸入流在JSP頁面中添加圖像...

這只是示例...並可能有錯誤,但是這是怎麼中插入圖片JSP的方式......

Class.forName("com.mysql.jdbc.Driver").newInstance(); 
Connection connection = 
    DriverManager.getConnection(connectionURL, "user", "pass"); 

psmnt = connection.prepareStatement(
    "insert into save_image(user, image) values(?,?)"); 
psmnt.setString(1, username); 

ImageIO.write(image, "png", new File("C://image.png")); 
File imageFile = new File("C://image.png"); 
FileInputStream fis = new FileInputStream(imageFile); 

psmnt.setBinaryStream(2, (InputStream)fis, (fis.length())); 
int s = psmnt.executeUpdate(); 
+0

這不是我所需要的。我只需要在頁面上顯示圖像,並且該圖像位於服務器文件系統上。 –

0

看起來你擁有屬於自己(和其他人)困惑圖像的位置。 從你的問題,這似乎是在webapps/realestates/Files/kurac.jpg,所以這應該工作:

<img src="/realestates/Files/kurac.jpg"> 

從你的第一個評論,它在C:/Users/Lazar/Documents/workspace-sts-3.8.3.RELEASE/realestates/Files/kurac.jpg,所以不會通過http://訪問。 這不起作用。

從您以後的評論,它在/webapp/realestates/WEB-INF/Files/kurac.jpg。 WEB-INF內的文件不能公開訪問。 這也行不通。

作爲最後的手段,將圖像文件移動到webapps/ROOT目錄。 從您的瀏覽器中嘗試http://localhost/kurac.jpg。 根據需要將localhost替換爲您的服務器主機名。如果沒有

<img src="/kurac.jpg"> 

,有什麼不對您的Tomcat配置: 如果成功,這將正常工作。 嘗試重新安裝。

+0

沒有幫助:( –

0

首先,你必須創建WEB-INF目錄以外的圖像文件夾,並嘗試代碼<img src="${pageContext.request.contextPath}/Files/kurac.jpg"/>

+0

也有'WEB-INF'外的文件夾(命名文件)見上面 – AsifAli72090

+0

@Asif.Ali嘗試上面的代碼它工作fine.i也在我的項目中使用相同的代碼 –

+0

我試過這個次 –