用JSP从数据库中读取图片并显示在网页上

来源:互联网 发布:淘宝的海淘在哪里 编辑:程序博客网 时间:2024/05/03 10:59
 

环境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>

 

文章整理:西部数码--专业提供域名注册虚拟主机服务http://www.west263.com以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

原创粉丝点击