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

  1. CREATE TABLE photo (
  2. photo_no int(6) unsigned NOT NULL auto_increment,
  3. image blob,
  4. PRIMARY KEY (`photo_no`)
  5. )

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

show.jsp文件如下:

  1. <%@ page contentType="text/html; charset=gbk" %>
  2. <%@ page import="java.io.*"%>
  3. <%@ page import="java.sql.*, javax.sql.*" %>
  4. <%@ page import="java.util.*"%>
  5. <%@ page import="java.math.*"%>
  6. <%
  7. String photo_no = request.getParameter("photo_no");
  8. //mysql连接
  9. Class.forName("com.mysql.jdbc.Driver").newInstance();
  10. String URL="jdbc:mysql://localhost:3306/job?user=root&password=111111";
  11. Connection con = DriverManager.getConnection(URL);
  12. //oracle连接
  13. //String URL="jdbc:oracle:thin@localhost:1521:orcl2";
  14. //user="system";
  15. //password="manager";
  16. //Connection con = DriverManager.getConnection(URL,user,password);
  17. try{
  18. // 准备语句执行对象
  19. Statement stmt = con.createStatement();
  20. String sql = " SELECT * FROM PHOTO WHERE photo_no = "+ photo_no;
  21. ResultSet rs = stmt.executeQuery(sql);
  22. if (rs.next()) {
  23. Blob b = rs.getBlob("photo_image");
  24. long size = b.length();
  25. //out.print(size);
  26. byte[] bs = b.getBytes(1, (int)size);
  27. response.setContentType("image/jpeg");
  28. OutputStream outs = response.getOutputStream();
  29. outs.write(bs);
  30. outs.flush();
  31. rs.close();
  32. }
  33. else {
  34. rs.close();
  35. response.sendRedirect("./images/error.gif");
  36. }
  37. }
  38. finally{
  39. con.close();
  40. }
  41. %>

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

    1. <html>
    2. <head>
    3. <title> 图像测试 </title>
    4. </head>
    5. <body>
    6. <table>
    7. <tr>
    8. <td>
    9. 图像测试
    10. </td>
    11. </tr>
    12. <tr>
    13. <td>
    14. <img src="show.jsp?photo_no=2">
    15. </td>
    16. </tr>
    17. </table>
    18. </body>
    19. </html>

用JSP从数据库中读取图片并显示在网页上的更多相关文章

  1. [转]asp.net mvc 从数据库中读取图片

    本文转自:http://www.cnblogs.com/mayt/archive/2010/05/20/1740358.html 首先是创建一个类,继承于ActionResult,记住要引用Syste ...

  2. asp.net mvc 从数据库中读取图片的实现代码

    首先是创建一个类,继承于ActionResult,记住要引用System.Web.Mvc命名空间,如下: public class ImageResult : ActionResult { publi ...

  3. [转] 从数据库中读取图片并导入Excel文件,C#方式

    原文地址, 作者 Lvyou1980 直接源码吧. using System; using System.IO; using System.Data; using System.Drawing; us ...

  4. 从npz文件中读取图片并显示的小例子

    前提:我把自己的数据集存成了npz的形式,也就是npy的压缩形式.如果电脑上安装了解压软件,双击npz文件的话,会出现每一部分压缩文件的名字例如npz文件的名称为:mnist.npz文件,用好压解压软 ...

  5. C# 图片保存到数据库和从数据库读取图片并显示

    图片保存到数据库的方法: public void imgToDB(string sql)        {   //参数sql中要求保存的imge变量名称为@images            //调 ...

  6. MVC中根据后台绝对路径读取图片并显示在IMG中

    数据库存取图片并在MVC3中显示在View中 根据路径读取图片: byte[] img = System.IO.File.ReadAllBytes(@"d:\xxxx.jpg"); ...

  7. C#从SQL server数据库中读取l图片和存入图片

    原文:C#从SQL server数据库中读取l图片和存入图片 本实例主要介绍如何将图片存入数据库.将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStr ...

  8. Servlet从本地文件中读取图片,并显示在页面中

    import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer ...

  9. [Xcode 实际操作]九、实用进阶-(12)从系统相册中读取图片

    目录:[Swift]Xcode实际操作 本文将演示从系统相册中读取图片. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //添加两个协议 ...

随机推荐

  1. Quartz.Net实现作业定时调度详解

    1.Quartz.NET介绍 Quartz.NET是一个强大.开源.轻量的作业调度框架,你能够用它来为执行一个作业而创建简单的或复杂的作业调度.它有很多特征,如:数据库支持,集群,插件,支持cron- ...

  2. hgoi#20190519

    更好的阅读体验 来我的博客观看 T1-求余问题 Abu Tahun很喜欢回文. 一个数组若是回文的,那么它从前往后读和从后往前读都是一样的,比如数组{1},{1,1,1},{1,2,1},{1,3,2 ...

  3. F#周报2019年第26期

    新闻 逐渐演化的.NET Core框架 Visual Studio提示与技巧 Windows Termina(预览) Microsoft在GitHub上的工程师从2000名增加至25000名 视频及幻 ...

  4. vuex分模块4

    Vuex下Store的模块化拆分实践 https://segmentfault.com/a/1190000007667542 vue.js vuex 猫切 2016年12月02日发布 赞  |   1 ...

  5. 【转】三次握手——https为什么更安全

    三次握手与四次挥手: https://blog.csdn.net/legend050709/article/details/39804519 https://blog.csdn.net/luoyoub ...

  6. 【Zookeeper01】ubuntu下安装zookeeper单例以及集群

    参考链接:http://zookeeper.apache.org/ https://www.cnblogs.com/lyhc/p/6560993.html 系统: 乌班图16.04 虚拟机(zk一般要 ...

  7. SQLPLUS执行PL/SQL语句块

    1.首先登录Oracle HR schema: 2.对于PL/SQL程序,分号表示语句的结束:而使用 "."  号表示整个语句块的结束,也可以省略.按回车键后,该语句块不会执行,即 ...

  8. 还在被大妈灵魂拷问?使用Python轻松完成垃圾分类!

    目录 0 环境 1 引言 2 思路 3 图像分类 4 总结 0 环境 Python版本:3.6.8 系统版本:macOS Mojave Python Jupyter Notebook 1 引言 七月了 ...

  9. Programming In Lua 第一章

    1,Lua可以嵌入其他应用程序(如CGILua或IUPLua). 2,lua代码的语句,分号是可以省略的.同一行可以有多条lua语句,最好用分号隔开(当然也可以不隔开) 3,外壳与lua解释器的区别. ...

  10. throw 与 throws的比较

    说实话,今天在公司的实习,确确实实编号被严重打脸了,说真的,自己的基础功不扎实,希望慢慢弥补吧! 抛出异常有三种形式,一是throw,一个throws,还有一种系统自动抛异常,下面它们之间的异同. 一 ...