JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JAVA技术--声音图片  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
从数据库中读出图片并显示的示例代码
作者:未知     文章来源:www.jspcn.net
访问次数:1538次     加入时间:2005年01月19日
!-- -- -- -- -- -- -- -- -- -- -- -- -- --servlet-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -->package Photo;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import java.lang.*;import java.sql.*;/*** <p>Title: </p>* <p>Description: </p>* <p>Copyright: Copyright (c) 2002</p>* <p>Company: </p>* @author unascribed* @version 1.0*/public class ShowImage extends HttpServlet { private static final String CONTENT_TYPE = "image/*"; /** * 定义数据库连接字符串,jdbc.odbc桥 */ private String driver_class = "oracle.jdbc.driver.OracleDriver"; private String connect_string = "jdbc:oracle:thin:xxw/xxw@192.168.1.50:1521:ORCL"; Connection conn = null; ResultSet rs = null; Statement stmt = null; /******************************************** * 定义应用变量 ******************************************/ private String SQLString = ""; //定义查询语句 public String M_EorrMenage = ""; //定义错误信息变量 private InputStream in = null; //定义输入流 private int len = 10 * 1024 * 1024; //定义字符数组长度 //Initialize global variables public void init() throws ServletException { /** * 连接数据库 */ try { Class.forName(driver_class); } catch (java.lang.ClassNotFoundException e) { //异常 System.err.println("databean():" + e.getMessage()); } } //Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); //在数据库中的照片的ID int PHOTOID = 0; /********************************************* * 接受上文传递的图片ID号 * 上文传输文件名称为photoid *********************************************/ try { PHOTOID = Integer.parseInt(request.getParameter("photoid")); SQLString = "select * from xxw_photo where p_id=" + PHOTOID; } catch (Exception e) { e.printStackTrace(); response.setContentType("text/html; charset=gb2312"); M_EorrMenage = "请输入图片ID号"; M_EorrMenage = new String(M_EorrMenage.getBytes("ISO8859_1"), "GBK"); out.println("<%@ page contentType=´text/html; charset=gb2312´ %>"); out.println("<html>"); out.println("<head><title>id</title></head>"); out.println("<body>"); out.println("<p>" + M_EorrMenage + "</p>"); out.println("</body></html>"); } /***************************************************** * 执行查询语句 *****************************************************/ try { conn = DriverManager.getConnection(connect_string); stmt = conn.createStatement(); rs = stmt.executeQuery(SQLString); } //try catch (SQLException ex) { System.err.println("aq.executeUpdate:" + ex.getMessage()); M_EorrMenage = "对不起,数据库无法完成此操作!"; M_EorrMenage = new String(M_EorrMenage.getBytes("ISO8859_1"), "GBK"); response.setContentType("text/html; charset=gb2312"); out.println("<html>"); out.println("<head><title>no_database</title></head>"); out.println("<body>"); out.println("<p>" + M_EorrMenage + "</p>"); out.println("</body></html>"); } /********************************************* * 将图片流读入字符数组中,并显示到客户端 ********************************************/ try { if (rs.next()) { in = rs.getBinaryStream("photo"); response.reset(); //返回在流中被标记过的位置 response.setContentType("image/jpg"); //或gif等 // int len=in.available();//得到文件大小 OutputStream toClient = response.getOutputStream(); byte[] P_Buf = new byte[len]; int i; while ((i = in.read(P_Buf)) != -1) { toClient.write(P_Buf, 0, i); } in.close(); toClient.flush(); //强制清出缓冲区 toClient.close(); } else { M_EorrMenage = "无此图片!"; M_EorrMenage = new String(M_EorrMenage.getBytes("ISO8859_1"), "GBK"); response.setContentType("text/html; charset=gb2312"); out.println("<html>"); out.println( "<head><title>this photo isn´t have</title></head>"); out.println("<body>"); out.println("<p>" + M_EorrMenage + "</p>"); out.println("</body></html>"); } rs.close(); } catch (Exception e) { e.printStackTrace(); M_EorrMenage = "无法读取图片!"; M_EorrMenage = new String(M_EorrMenage.getBytes("ISO8859_1"), "GBK"); response.setContentType("text/html; charset=gb2312"); out.println("<%@ page contentType=´text/html; charset=gb2312´ %>"); out.println("<html>"); out.println("<head><title>no photo</title></head>"); out.println("<body>"); out.println("<p>" + M_EorrMenage + "</p>"); out.println("</body></html>"); } } //Clean up resources public void destroy() { try { conn.close(); } catch (SQLException e) { System.err.println("aq.executeUpdate:" + e.getMessage()); M_EorrMenage = "对不起,数据库无法完成此操作!"; } }}


<!---------------------------显示---------------------------------------------->
<html>
<head>
<title>Untitled Document</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table>
<%
int i=1;
while(i<3){
%>
<tr>
<td colspan="3"> <img border="1" src="http://192.168.1.50:8100/ShowImage?photoid=<%=i%>"></td>
</tr>
<%
i++;
}
%>
</table>
</body>
</html>

注:此程序对于从数据库读取图片后写入文件请参考代码者留意 
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号