Java 为什么可以';我是否使用realpath访问JSP文件中的图像?
我有一个示例index.jsp文件,在同一个目录中还有1.png 当我访问jsp文件时,这些都可以工作,我可以看到我拥有的图像Java 为什么可以';我是否使用realpath访问JSP文件中的图像?,java,jsp,Java,Jsp,我有一个示例index.jsp文件,在同一个目录中还有1.png 当我访问jsp文件时,这些都可以工作,我可以看到我拥有的图像 <img src="1.png"/> <img src="<%= request.getContextPath()%>/1.png"/> /1.巴布亚新几内亚“/> 但这并不奏效: <img src="<%= request.getServletContext().getRealPath(File.separator
<img src="1.png"/>
<img src="<%= request.getContextPath()%>/1.png"/>
/1.巴布亚新几内亚“/>
但这并不奏效:
<img src="<%= request.getServletContext().getRealPath(File.separator)%>1.png"/>
1.png”/>
当我检查震源时,我看到:
<img src="C:\tomcat\webapps\multi-web\1.png"/>
这就是图像的真实所在。但在浏览器中我看不到图像。这是为什么?服务器无法使用位置的实际路径访问图像,因为html页面将在用户浏览器中运行。应使用服务器URL访问图像。服务器无法使用位置的实际路径访问图像,因为html页面将在用户浏览器中运行。应使用服务器URL访问图像。服务器无法使用位置的实际路径访问图像,因为html页面将在用户浏览器中运行。应使用服务器URL访问图像。服务器无法使用位置的实际路径访问图像,因为html页面将在用户浏览器中运行。应该使用服务器URL访问映像。,因为这样会打开位于最终用户计算机上的文件,而不是web服务器上的文件。浏览器不允许HTML页面这样做:它将代表一个安全漏洞。,因为这将打开位于最终用户计算机上的文件,而不是web服务器上的文件。浏览器不允许HTML页面这样做:它将代表一个安全漏洞。,因为这将打开位于最终用户计算机上的文件,而不是web服务器上的文件。浏览器不允许HTML页面这样做:它将代表一个安全漏洞。,因为这将打开位于最终用户计算机上的文件,而不是web服务器上的文件。浏览器不允许HTML页面这样做:它将代表一个安全漏洞。谢谢,回答和往常一样好。但是如果我在一个类中运行此代码,那么它会在服务器中找到该文件,对吗?我不确定“在一个类中运行此代码”是什么意思。无论HTML页面是由JSP、类还是一群随机键入的猴子生成的,都不会改变浏览器的任何内容。它将拒绝从本地文件加载图像。我的意思是从servlet访问该文件。是的,您可以(并且应该,如果该文件不是webapp的一部分)提供一个servlet,该servlet将打开该文件,读取该文件,并将字节发送到浏览器。您的HTML标记将指向此servlet,而不是直接指向该文件。谢谢,与往常一样回答得很好。但是如果我在一个类中运行此代码,那么它会在服务器中找到该文件,对吗?我不确定“在一个类中运行此代码”是什么意思。无论HTML页面是由JSP、类还是一群随机键入的猴子生成的,都不会改变浏览器的任何内容。它将拒绝从本地文件加载图像。我的意思是从servlet访问该文件。是的,您可以(并且应该,如果该文件不是webapp的一部分)提供一个servlet,该servlet将打开该文件,读取该文件,并将字节发送到浏览器。您的HTML标记将指向此servlet,而不是直接指向该文件。谢谢,与往常一样回答得很好。但是如果我在一个类中运行此代码,那么它会在服务器中找到该文件,对吗?我不确定“在一个类中运行此代码”是什么意思。无论HTML页面是由JSP、类还是一群随机键入的猴子生成的,都不会改变浏览器的任何内容。它将拒绝从本地文件加载图像。我的意思是从servlet访问该文件。是的,您可以(并且应该,如果该文件不是webapp的一部分)提供一个servlet,该servlet将打开该文件,读取该文件,并将字节发送到浏览器。您的HTML标记将指向此servlet,而不是直接指向该文件。谢谢,与往常一样回答得很好。但是如果我在一个类中运行此代码,那么它会在服务器中找到该文件,对吗?我不确定“在一个类中运行此代码”是什么意思。无论HTML页面是由JSP、类还是一群随机键入的猴子生成的,都不会改变浏览器的任何内容。它将拒绝从本地文件加载图像。我的意思是从servlet访问该文件。是的,您可以(并且应该,如果该文件不是webapp的一部分)提供一个servlet,该servlet将打开该文件,读取该文件,并将字节发送到浏览器。HTML标记将指向此servlet,而不是直接指向文件。