我正在开发一个应用程序,当我尝试使用此路径加载图像时,现在需要在我的JSP文件中引用我的应用程序图像和其他内容,例如js等。
<img src="static/media/images/logo.gif" alt="welcome" />
我在浏览器中看到以下错误: unable to load the image
unable to load the image
我什至试图参考绝对路径
<img src="/static/media/images/logo.gif" alt="welcome" />
但仍然没有运气。最后,当我附加项目名称时,它开始起作用。例如,如果我的Web应用程序名称是abc我使用的以下内容
abc
<img src="/abc/static/media/images/logo.gif" alt="welcome to donateblood.com" />
但是我确定引用图像的方法不正确,因为这意味着Web应用程序名称的更改将导致我更改图像的每个URL,这根本不可行。在css文件中提到的图像工作正常。谁能指导我参考图像的正确方法。
附加信息:我将eclipse用作我的IDE,将Tomcat用作容器,并且它是Java EE标准的Web应用程序
static/media/images/logo.gif
是相对路径。如果您位于http://localhost/myWebApp/foo/bar.html页面,它将解析为
http://localhost/myWebApp/foo/static/media/images/logo.gif
/static/media/images/logo.gif
是Web服务器绝对的路径。无论您身在何处,它都会解析为
http://localhost/static/media/images/logo.gif
因此,您需要在Web应用程序的上下文路径之前添加绝对路径。采用
<img src="${pageContext.request.contextPath}/static/media/images/logo.gif" alt="welcome" />
要么
<img src="<c:url value='/static/media/images/logo.gif'/>" alt="welcome" />
就像您应该对网络应用程序中的所有网址进行操作一样。