将mysql中的Blob的图片在jsp中显示

本来我的例子是用Struts2+Hibernate+Spring三个框架搭建的,但是没有什么大碍,我们只有知道核心部分在怎么实现的就行。

以下是我的Action的代码:

//show image
private static Image image = new Image();

public Image getImage() {
return image;
}

public void setImage(Image image) {
this.image = image;

}


//imageDao对象我是Spring注入进来的,你可以用new创建


public static void showImage(){

byte[] itemImage = null;

HttpServletResponse response = ServletActionContext.getResponse();
response.reset();
response.setContentType("image/jpeg");

try {
image.setId(0);
itemImage = imageDao.getImage(image).getBytes(1, (int)imageDao.getImage(image).length()); //通过getBytes()方法将获取的Blob类型数据转换
OutputStream out = response.getOutputStream();
out.write(itemImage);
out.flush();
out.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}


以下是ImageDAO的method

public Blob getImage(Image image) {

Image img = (Image) template.get(Image.class, image.getId()); //按指定id获取的image对象

Blob blob = img.getImage();

return blob; //return blob 对象
}

JSP的代码为:

<img src="<s:url value="show" />" border="0" width="100" height="100">


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值