2012-10-05 18 views
0

我有一個servlet,它以響應的形式返回一個也包含圖片的html頁面。我將這些圖片存儲在圖片文件夾中的文件系統上(路徑:/ home/andrei /圖片)。 我目前只有一張照片(名稱:eu.jpg),但我會添加更多。java servlets在html代碼中顯示圖像

所以問題是,在HTML代碼我在某處有這樣的:<img src="/home/andrei/Pictures/eu.jpg" alt="pic" >。但是當我得到html頁面時,它並不知道要給出什麼。

那麼我應該給src什麼路徑?
這是正常的不顯示替代文字
因爲我知道,當它無法加載圖片時,它顯示的文字。

其他信息:
IDE:Eclipse的朱諾
SO:Linux的
服務器:Tomcat的7.0

回答

0

當您發回的HTML響應,客戶端的瀏覽器將呈現該文檔,然後發送額外的請求資源以充分顯示HTML文檔。這包括圖像,所以Tomcat必須能夠爲它們服務。如果您不能從頭開始將它們放入WebContent內的文件夾中,則該servlet必須執行此操作並創建指定「公共路線」的文檔。

+0

我該如何讓這個servlet做這個舉動? java代碼? – Andrew

+0

您會發現自己處理指向文件本地路徑的文件處理程序,然後使用緩衝區將新文件的內容設置爲webapp的相對路徑。麻煩。爲什麼不將靜態資源添加到Web應用程序? – Alfabravo

+0

很好地使照片動態添加,因此我無法重新發布,整個應用程序也可以用作上傳。它會是這樣嗎? 'File originalPhoto = new File(「../ Pictures/..」); File newPhoto = new Photo(「/ photoname.type」); ' 然後複製使用流的cotents? – Andrew

0

圖像應該是web應用程序的一部分。絕對FS路徑不起作用。 <img>將採用相對路徑或網站的絕對路徑。

1

您打算在連接Web容器的瀏覽器中顯示的任何圖像(您的情況下爲Tomcat)必須在容器中可見。要做到這一點,將圖像放置在webapp /文件夾中,並從servlet中正確鏈接它們,從而生成正確的標記,其中路徑是指向文件的正確http鏈接。