用ssh,mysql数据库,用流在jsp中显示多张图片是图片显示错误的问题
图片文件存在数据库的中,为blob形式,action中读取到blob并放入流中代码如下:publicclassShowimageextendsActionSupport....
图片文件存在数据库的中,为blob形式,
action中读取到blob并放入流中代码如下:
public class Showimage extends ActionSupport.........(中间set,get省略)
HttpServletResponse response = ServletActionContext.getResponse();
OutputStream o=response.getOutputStream();
Pimage p=searchpimagebiz.searchbyID(id);//Pimage是自己定义的一个对象,p.getPatternimage()是一个Blob对象,id是从网页上传来的一个参数,根据id查找唯一的blob,
o.write(p.getPatternimage().getBytes(1, (int) p.getPatternimage().length()));
o.flush();
o.close();
jsp上的显示
<img src="/test/showpimage?id=${id}"></img>
以上代码显示一张图片完全没有问题的.
但是如果显示在一个页面中显示多张图片,如:
<img src="/test/showpimage?id=1">1</img>
<img src="/test/showpimage?id=2">2</img>
<img src="/test/showpimage?id=3">3</img>
那个就会产生不可预期的结果,就是说1,2,3这三个位置都有可能出现图片1或图片2或图片3.每次刷新都不一样.
各位有什么解决方法吗? 展开
action中读取到blob并放入流中代码如下:
public class Showimage extends ActionSupport.........(中间set,get省略)
HttpServletResponse response = ServletActionContext.getResponse();
OutputStream o=response.getOutputStream();
Pimage p=searchpimagebiz.searchbyID(id);//Pimage是自己定义的一个对象,p.getPatternimage()是一个Blob对象,id是从网页上传来的一个参数,根据id查找唯一的blob,
o.write(p.getPatternimage().getBytes(1, (int) p.getPatternimage().length()));
o.flush();
o.close();
jsp上的显示
<img src="/test/showpimage?id=${id}"></img>
以上代码显示一张图片完全没有问题的.
但是如果显示在一个页面中显示多张图片,如:
<img src="/test/showpimage?id=1">1</img>
<img src="/test/showpimage?id=2">2</img>
<img src="/test/showpimage?id=3">3</img>
那个就会产生不可预期的结果,就是说1,2,3这三个位置都有可能出现图片1或图片2或图片3.每次刷新都不一样.
各位有什么解决方法吗? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询