转自:http://zhao103804.iteye.com/blog/1884343
首先,图片和工程不在一个盘符下。图片也不能放到工程下。
在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="/acc/readImage?imagePath=c:/test.gif">
Action代码如下:
//图片的处理
@RequestMapping(value = "/acc/readImage", produces = MediaTypes.TEXT_PLAIN_UTF_8)
public void readImage(HttpServletRequest request, HttpServletResponse response){
String imagePath = request.getParameter("imagePath");//图片绝对路径
try{
File file = new File(imagePath);
if (file.exists()) {
DataOutputStream temps = new DataOutputStream(response
.getOutputStream());
DataInputStream in = new DataInputStream(
new FileInputStream(imagePath));
byte[] b = new byte[2048];
while ((in.read(b)) != -1) {
temps.write(b);
temps.flush();
}
in.close();
temps.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
两种方法都可以实现,还有一种就是在tomcat下面建立图片文件夹,该可以直接显示出来。

2805

被折叠的 条评论
为什么被折叠?



