当我从JSP文件图像中提供相对路径时,我正在使用eclipse。但是当我使用绝对路径到我的图像时,它只能在Eclipse的内部浏览器中工作,但仍然不适用于其他浏览器Firfox,IE等。
答案 0 :(得分:8)
显然相对路径是完全错误的。
您需要意识到<img src>
应该引用公共URL,而不是Web服务器的本地磁盘文件系统。这就是需要加载图像的webbrowser,而不是webserver本身。如果此公共URL是相对的,则相对于当前请求URL(您在浏览器的地址栏中看到的URL)进行解析。相对于本地磁盘文件系统中JSP的位置,它没有得到解决。
想象一下,您正在打开此URL上的JSP页面
并且该图片的原始格式可通过此URL访问
然后需要在JSP中引用图像,如下所示
<img src="images/some.png" />
但是如果JSP是通过此URL打开的
然后需要在JSP中引用图像,如下所示
<img src="../images/some.png" />
为了避免每次摆弄相对路径,您也可以使用域相对URL。您可以通过在图像URL前加上下文路径来执行此操作:
<img src="${pageContext.request.contextPath}/images/some.png" />
这将最终生成的HTML如下所示(在浏览器中右键单击JSP,查看源)
<img src="/contextname/images/some.png" />