在使用 Eclipse 開發 Web 應用時,將圖片放置於 Web 工程目錄下,並在 JSP 中通過相對路徑引用。專案部署到 Tomcat 伺服器後,網頁中圖片無法顯示,控制台亦無明顯錯誤。
WebContent/images/logo.png,但 JSP 寫成 <img src="logo.png">,導致瀏覽器請求錯誤 URL。ROOT 或自定義 Context Path,導致相對路徑基準變化。web.xml 或 server.xml 中的 Context Path 設定。/ 或 /images。在 JSP 中使用 ${pageContext.request.contextPath} 動態獲取 Context Path:
<img src="${pageContext.request.contextPath}/images/logo.png" alt="Logo">
或使用 JSTL c:url:
<c:url value="/images/logo.png" var="logoUrl"/>
<img src="${logoUrl}" alt="Logo">
Eclipse 專案 Properties → Deployment Assembly → Add → Folder → 選擇存放圖片的資料夾(如 WebContent/images),Deploy path 設為 /images。
檢查檔案名稱、資料夾名稱、JSP 中引用路徑的大小寫完全一致。
WebContent/resources 或 src/main/webapp/resources(Maven 專案)。${pageContext.request.contextPath} 或 c:url 生成資源路徑。clean package 或 Eclipse Clean,確保輸出目錄乾淨。總結:圖片部署後不顯示多數源於路徑錯誤或資源未正確部署。採用動態 Context Path 生成絕對路徑,並確保 Deployment Assembly 正確配置,即可徹底解決。