我一直致力于动态Web应用程序,需要在本地文件的jsp上显示图像。当我在eclipse中运行它时,程序运行得非常好,但是当我在chrome中尝试相同时它不会加载图像。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Image Processor</title>
</head>
<body bgcolor="BLACK">
<h3 style="color : WHITE" align="Center">Process Your Image</h3>
<img src ="E:\Pics\Wallpapers\me.jpg" width=300 height=400>
<%
String name = request.getParameter( "path" );
session.setAttribute( "path", name );
%>
</body>
</html>
答案 0 :(得分:2)
您需要了解网络的运作方式。
您有一位用户,例如在法国,使用他的浏览器访问http://foo.bar.com
的网页。这会将HTTP请求发送到位于例如巴西的服务器foo.bar.com。服务器发回一个包含例如
<img src="image.jpg" />
当它看到这个时,浏览器会向巴西的服务器发送另一个HTTP请求,要求http://foo.bar.com/image.jpg
处的图像。
请注意,用户在浏览器中看到的所有内容都来自位于其他位置的Web服务器。巴西的一个网站无权在法国用户的机器上打开文件。这将构成一个主要的安全问题,因为该网站可以收集有关最终用户机器上文件的私人信息。
您可能会对以下事实感到困惑:在开发过程中,服务器和客户端计算机是相同的。但这并没有改变任何事情。应用程序网页上显示的所有内容都必须来自Web服务器,通过HTTP。您不能简单地将图像源设置为文件路径。图像的路径必须指向由您的Web服务器提供的图像,并部署在您的Web服务器中。
答案 1 :(得分:0)
您需要将图片放入应用中,以避免在不同位置执行图片时遇到问题:
<link rel="shortcut icon" href="<%=session.getAttribute("URL_HOST") %>/resources/your_image.jpg" />
设置会话属性检查this question