首先,图片和工程不在一个盘符下。图片也不能放到工程下。
在JSP 文件中 <img src="C:/Users/fx/Pictures/test.jpg"/> 这样是引不到图片的。因为,JSP页面在引图片的时候是 在页面解析的路径是:<img src="http://localhost:8080/test/images/1.jpg">。也就是说JSP在引图片的时候是先去你的工程目录下找的。
所以如果要在JSP中引入其他盘符的图片,有两种方法可以解决:
一种是使用虚拟路径来配置:
在tomcat下的conf/server.xml中增加一个代码 在<Host></Host>中间
如下:
<!--增加的--path="/虚拟名" docBase="虚拟路径" ->
<Context path="/upload" docBase="D:\louyuimage\upload\" reloadable="true" >
</Context>
</Host>
配置好以后,在JSP文件中为:
<img alt="" src="/upload/kuaidaowanlilai0605.jpg">
图片就显示出来了。
二种:
将文件用流读取出来显示:
<img alt="" src="../...action">
Action代码如下:
//图片的处理
public String getimg() throws IOException {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html; charset=UTF-8");
response.setContentType("image/jpeg"); // 设置图片格式格式,这里可以忽略
FileInputStream fis = new FileInputStream("D:/louyuimage/upload/aaaaa/yangmi1.jpg");
OutputStream os = response.getOutputStream();
try {
int count = 0;
byte[] buffer = new byte[1024 * 1024];
while ((count = fis.read(buffer)) != -1)
os.write(buffer, 0, count);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null)
os.close();
if (fis != null)
fis.close();
}
return null;
}
两种方法都可以实现,还有一种就是在tomcat下面建立图片文件夹,该可以直接显示出来。