在JSP里面显示由数据库读取出来的图片数据

环境mysql+tomcat:

<1>先在mysql下建立如下的table. 并insert图像.

mysql.sql文件如下:

CREATE TABLE photo (
photo_no int ( 6 ) unsigned NOT NULL auto_increment,
image blob,
PRIMARY KEY (`photo_no`)
)

<2>把show.jsp放在tomcat的任意目录下. show.jsp作用:从数据库中读出blob,并产生image/jpg.

show.jsp文件如下:

<% @ page contentType = " text/html; charset=gbk " %>
<% @ page import = " java.io.* " %>
<% @ page import = " java.sql.*, javax.sql.* " %>
<% @ page import = " java.util.* " %>
<% @ page import = " java.math.* " %>

<%
String photo_no = request.getParameter( " photo_no " );

// mysql连接
Class.forName( " com.mysql.jdbc.Driver " ).newInstance();
String URL = " jdbc:mysql://localhost:3306/job?user=root&password=111111 " ;
Connection con = DriverManager.getConnection(URL);

// oracle连接
// String URL="jdbc:oracle:thin@localhost:1521:orcl2";
// user="system";
// password="manager";
// Connection con = DriverManager.getConnection(URL,user,password);


try {
// 准备语句执行对象
Statement stmt = con.createStatement();

String sql = " SELECT * FROM PHOTO WHERE photo_no = " + photo_no;
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
Blob b = rs.getBlob( " photo_image " );
long size = b.length();
// out.print(size);
byte [] bs = b.getBytes( 1 , ( int )size);
response.setContentType( " image/jpeg " );
OutputStream outs = response.getOutputStream();
outs.write(bs);
outs.flush();
rs.close();
}
else {
rs.close();
response.sendRedirect( " ./images/error.gif " );
}
}
finally {
con.close();
}
%>


<3>把如下文件放在show.jsp的同一目录下.

index.html文件如下:

< HTML >
< HEAD >
< TITLE > 图像测试 </ TITLE >

</ HEAD >

< BODY >
< TABLE >
< TR >
< TD > 图像测试 </ TD >
</ TR >
< TR >
< TD >< img src ="show.jsp?photo_no=2" ></ TD >
</ TR >
</ TABLE >

</ BODY >
</ HTML >
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值