[英]Displaying images in a java web project
所以,我正在嘗試做一些簡單的事情:在我的 Java Web 應用程序中顯示圖像。
我為此構建了一個簡單的應用程序,但我沒有成功,我嘗試了所有我能找到的不同的東西,但沒有成功。
<!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=ISO-8859-1">
<title>test page</title>
</head>
<body>
<h1>testing internal libraries</h1>
<img src="<%= request.getContextPath()%>/WebContent/images/cp.jpg" width=30 />
<img src="<%= request.getContextPath()%>/images/cp.jpg" width=30 />
<img src="../images/cp.jpg" width=30 />
<img src="images/cp.jpg" width=30 />
</body>
</html>
編輯:
這是谷歌瀏覽器顯示的源代碼
<!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=ISO-8859-1">
<title>test page</title>
</head>
<body>
<h1>testing internal libraries</h1>
<img src="/teste/WebContent/images/cp.jpg" width=30 />
<img src="/teste/images/cp.jpg" width=30 />
<img src="../images/cp.jpg" width=30 />
<img src="images/cp.jpg" width=30 />
</body>
</html>
正確的是<img src="<%= request.getContextPath()%>/images/cp.jpg" width=30 />
但在此之前,讓我們在 Eclipse IDE 中配置您的路徑:
選擇您的項目 > 單擊右側按鈕 > 構建路徑 > 配置構建路徑... > 標簽源
如果teste/target/classes更改為teste/WebContent/WEB-INF/classes,請檢查“默認輸出文件夾”字段
重新編譯並重試!
首先,我想指出,雖然解決我的問題的是其他問題,但我相信這里的答案和評論可以幫助人們找到導致相同問題的其他問題。
所以解決方案相當簡單:
我在
web.xml
中以錯誤的方式映射了我的“索引”,這導致上下文路徑變得很奇怪
<servlet>
<servlet-name>MainServlet</servlet-name>
<servlet-class>controllers.MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MainServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
修復是從 url 模式中刪除/
,出於某種原因,我一直認為“索引頁面”和其他一些語言(例如節點)需要它,我通常用“/”映射我的索引,但它java似乎不是這種情況。
所以我的代碼在web.xml
變成了這樣:
<servlet>
<servlet-name>MainServlet</servlet-name>
<servlet-class>controllers.MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MainServlet</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
圖像中的映射基本上是:
<img src="<%= request.getContextPath()%>/WebContent/images/cp.jpg" width=30 />
就像@Molina Henrique 已經提到的那樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.