用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.每次刷新都不一样.
各位有什么解决方法吗?
展开
 我来答
LanDomer
2012-02-16 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:78万
展开全部
既然你的图片是以ID 来获取了,那么,就是说,你这个ID 是随机的,所以每次出来,都不同,虽然你后面是指定了ID=1,2,3 但在,流里面,就已改变了!!
追问
不是不是,我只是打个比方,id是确定的,问题是他们同时访问了这个action,可能action里访问到的是同一个outputstream,所以出现了错误
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式