为什么我不能使用realpath访问JSP文件中的图像?

时间:2013-11-17 17:23:43

标签: java jsp

我有一个示例index.jsp文件,在同一目录中我也有1.png。

当我访问jsp文件时,这些都有效,我可以看到我有的图像

<img src="1.png"/>
<img src="<%= request.getContextPath()%>/1.png"/>

但这不行:

<img src="<%= request.getServletContext().getRealPath(File.separator)%>1.png"/>

当我检查来源时,我看到:

<img src="C:\tomcat\webapps\multi-web\1.png"/>

这就是图像的真实所在。但在浏览器中我看不到图像。那是为什么?

2 个答案:

答案 0 :(得分:2)

因为这会打开位于最终用户计算机上的文件,而不是Web服务器上的文件。浏览器不会让HTML页面这样做:它代表一个安全漏洞。

答案 1 :(得分:1)

图像无法通过服务器访问真实的位置路径,因为html页面将运行用户浏览器。应该使用服务器URL访问图像。

相关问题