如何用jsp输出存在于oracle数据库Blob字段中的jpg图片

JSP直接连接Oracle取数据显示 JSP直接连接Oracle读取,插入,更新或删除数据显示,需要ojdbc6.jar,无需通过中间件 middleware 立即下载
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 在web-oa系统中,档案管理好象不可或缺。其中员工照片常常做成这样:用户通过浏览器上传员工相片,服务端程序接收图片文件,保存到数据库中的某个表的Blob字段里(关于文件上传和blob字段的更新,请参考http://www.javaresearch.org/article/showarticle.jsp?column=106&thread=11003和http://forum.hibernate.org.cn/viewtopic.php?t=254)。通过(jdbc/jdo)和(jsp/servlet),服务器再把保存在Blob字段中的图片文件展现给用户。我这里给出一个关于展现的简单例子。 1.在数据库中建表,并且表要包含Blob字段。 2.用plsql developer这种客户端数据库工具,修改某条记录的Blob字段,存入一个jpg文件。 3.用jdbc或者hibernate获取某条记录的Blob字段数据。(请参考参考资料2) 4.写一个jsp文件,来输出图片。如下所示 //////////////////////cwry_pic.jsp///////////////////////// <%@page import="java.io.*"%> <%@page import="com.jagie.business.profile.*" %> <%@page import="java.sql.Blob"%> <% response.reset(); //这个设置很重要,否则客户端浏览器不能识别输出内容,导致弹出下载的对话框。 response.setContentType("image/jpeg"); ServletOutputStream sos = response.getOutputStream(); //这里是用hibernate来根据id装载对象,你可以用别的方式如jdbc来组装对象,附文中有 //BaseInfo这个javabean的示意性代码. BaseInfo bif= ProFileOperator.loadProFile(Long.valueOf("1")); //输出图片 if(bif!=null&&bif.getPic()!=null){ Blob blob=(Blob)bif.getPic(); InputStream pi = blob.getBinaryStream(); int blobsize = (int)blob.length(); byte[] blobbytes = new byte[blobsize]; int bytesRead = 0; while ((bytesRead = pi.read(blobbytes)) != -1) { sos.write(blobbytes, 0, bytesRead); } pi.close(); sos.flush(); } %> 发布这个jsp到你的web服务器,再用浏览器访问这个jsp页面,你就可以看到保存在Blob字段中的图片了。 附文: ///////////////////BaseInfo.java示意性代码/////////////////////// package com.jagie.business.profile; public class BaseInfo{ //pk private Long id; //相片 private java.sql.Blob pic; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public java.sql.Blob getPic() { return pic; } public void setPic(java.sql.Blob pic) { this.pic = pic; } } 最后,希望这篇文章能对你有所启发,如有错误,敬请批评指正! 参考资料: 1:http://www-900.ibm.com/developerWorks/cn/java/l-imgtxt/index.shtml 2:http://forum.hibernate.org.cn/viewtopic.php?t=254
手把手调试Android 14 ShellTransitions:用Log追踪ActiveTransition与Handler匹配过程 本文详细介绍了在Android 14中调试ShellTransitions机制的方法,重点通过Log追踪ActiveTransition与Handler的匹配过程。文章提供了关键日志点植入策略、Handler匹配机制解析及实战调试案例,帮助开发者解决窗口转场动画中的卡顿和错乱问题,提升系统动画性能。 阅读详情

相关推荐

Jetson Orin Nano Super开发板实战:视觉模型部署与性能优化指南

本文详细介绍了Jetson Orin Nano Super开发板在边缘AI视觉模型部署与性能优化的完整实战指南。内容涵盖JetPack 6.1环境配置、Docker容器化部署、YOLO11及Transformer模型的TensorRT优化技巧,并通过实测数据展示了性能提升与功耗管理策略,为开发者提供高效的视觉AI部署解决方案。

7h6j5k4l3的博客 1196

在jsp中显示数据库Blob字段图片实例

第一步:新建一个serverlet,用于获得图片流。代码如下:public class ImageServlet extends HttpServlet {    public ImageServlet() {        super();    }    public void destroy() {        super.destroy(); // J

cystalplane的专栏 1423

2.4G/4G天线共存方案:Air8101多频段隔离设计实战(附波长计算表)

本文深入探讨了物联网设备中Wi-Fi 2.4GHz与4G LTE天线共存设计的实战方案。针对B40与2.4G频段紧邻带来的干扰挑战,文章系统性地提出了空间隔离、PCB布局优化、结构设计三重防线,并提供了关键的波长计算工具与系统级验证Checklist,旨在帮助工程师将多频段隔离设计从“玄学”变为可执行的工程规范。

weixin_29197051的博客 390

如何通过jsp、html上传图片到数据库,及如何从数据库中取出blob类型并显示到页面中

1、通过jsp、html上传图片到数据库 先在addProduct.jsp前面加上文件类型控件, 页面上显示 然后选择文件,提交给后端接口的doPost或service方法,获得输入流: InputStream inputStream=null; Part filePart = req.getPart("picture"); if(filePart!=null) { System.out.println("file name :"+filePart.

zds18205657013的博客 2675

【智能制造】- APS系列|05 APS 排产的五大底层算法逻辑

很多人误以为APS只是给生产工单排先后顺序,实则整套系统依托成熟算法体系,完成多维度约束下的最优生产决策在制造业数字化排产普及的当下,依旧有不少制造管理者对APS存在认知误区,将其等同于简易工单排序工具。事实上,专业级高级计划与排程系统,早已脱离单纯按时间排序的基础功能,而是依托一整套成熟完善的底层算法逻辑,整合现场各类生产限制条件,在海量变量中自动推演、筛选、输出最贴合企业经营目标的生产方案。

qq_40821260的博客 436

SwissADME:一款在线预测小分子药动学性质的工具

是一个免费的在线工具,由瑞士生物信息学研究所(SIB)开发,用于预测和分析小分子的药物相似性、理化性质、药代动力学特性以及合成可行性等。它是药物设计和开发中常用的工具之一,帮助研究人员快速评估化合物的成药潜力。

药研猿的博客 5023

如何在jsp页面中显示BLOB保存的图片数据

 在页面中使用图片在应用中是不可缺少的。很多时候我们都是把文件直接放在本地的文件系统上,这样就可以直接在页面中显示图片信息。现在我介绍的是如何在将保存在数据库中的图像信息检索出来并显示在页面中。所用的是oralce数据库的blob存放图片信息。要显示图片首先在数据库中必须要有图片存放。第一步我们应该建立一张表。表结构如下:TEST_BLOB(id varchar2(20), blo

obeey的专栏 7139

推荐11个顶级的Claude Code Skills

ClaudeCode的Skills系统为程序员提供了11个强大的AI辅助工具,包括代码审查、重构建议、单元测试生成、API文档自动生成、性能分析、安全扫描、数据库迁移脚本生成、CI/CD配置、依赖管理、ER图生成和日志分析等功能。这些"技能包"可大幅提升开发效率,从代码质量到协作沟通全方位优化工作流程。用户可根据需求选择2-3个核心功能开始尝试,熟练后还可自定义Skills。该系统需要配合Anthropic的API使用,建议先在小型项目测试再应用于核心业务。

分享AI、区块链技术及应用,未来已来 1855

如何将oracle数据库中的blob显示为jsp的图片,请教啦,如何把数据库中blob字段存储的图片在jsp页面中显示出来?...

找了一些相关资料看了一下,初学的理解不一定对,请指教。大体的思路是把图片以二进制流的方式存到blob字段中。这一步调试成功。我现在不知道如何把已存的图片显示在jsp页面上。现在用一种我认为比较笨的办法可以实现。就是从blob字段中读出这个图片的信息,生成一个新的图片,保存在服务器的相关目录下面,然后用页面的从该目录下面找到该图片显示出来。但是这样要专门设一个目录存放图片,占用磁盘空间;图片多了以后...

weixin_39864571的博客 239

LED灯闪烁实验:实验介绍

每个章节都会单独进行验证工作,例如Simulink开发的应用层软件,会在Simulink-TestHarness中进行仿真,通过Scope示波器模块输出0-1交替的结果。CubeIDE集成双方的代码后,会烧写到开发板中验证是否按照定义的时间进行闪烁。ST-LINK V2是STM32开发生态系统中常用的硬件调试接口,能够连接微控制器与开发环境,实现程序的下载、调试和分析。STM32F103C8T6最小系统板是基于STM32F103C8T6微控制器的开发板,本实验会涉及使用板载的连接PC13引脚的LED灯。

u013288925的博客 460

华为OD新系统机试真题 - API请求日志去重分析

华为OD新系统机试真题【API请求日志去重分析】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD4月15号机试真题【API请求日志去重分析】

qq_45776114的博客 917

JSP页面直接显示Blob类型图片

做了一个JSP直接显示Oracle的Blob类型图片的小功能,参考代码如下: <% response.reset(); String guid = request.getParameter("guid"); Connection conn = null; PreparedSta

sunny62520的专栏 3970

OpenFeign整合Sentinel实现熔断降级

常用于实现熔断降级的框架有Hystrix、Sentinel,我们常说的Spring Cloud项目说的其实是Spring Cloud Netflix,Hystrix以及前面学习过的Ribbon都是Netflix系的家族成员,所以使用Hystrix可以非常简单的与当前项目中使用到的OpenFeign、Ribbon整合,但笔者并没有选择Hystrix,而是选择阿里系的Sentinel。 为什么选择Sentinel而不是Hystrix?从接入简单考虑可能选择Hystrix是不错的选择,但笔者对Hyst...

吴就业 6718

JAVA存取图片到ORACLE中的BLOB字段

转自:http://heisetoufa.iteye.com/blog/227243 http://hi.baidu.com/dugubao/item/8d02cd9dc5b3e2cbb6253104 http://www.360doc.com/content/09/1124/14/506716_9668190.shtml(重点参考) http://school.cnd8.net/jsp...

secondsyy的博客 933

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

mysql clobimpl_Java Oracle数据库BLOB字段的存取

Java存取OracleBlob字段,图片存储,Blob和BLOB的问题,Clob,oracle1、Blob和BLOB的问题java.sql.Bloboracle.sql.BLOB这两个blob仅仅是大小写不同,但是差异很大,java.sql.Blob是一个接口,而oracle.sql.BLOB是一个实现java.sql.Blob的类,并且还有很多扩展的属性和方法,注意不要搞混了。2、JDBC2....

weixin_29708043的博客 328

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java存取OracleBlob字段,图片存储,Blob和BLOB的问题,Clob,oracle

本文转自:http://166.111.60.177/DevelopWiki/Wiki.jsp?page=Java%E5%AD%98%E5%8F%96OracleBlob%E5%AD%97%E6%AE%B5 1、Blob和BLOB的问题 java.sql.Blob oracle.sql.BLOB 这两个blob仅仅是大小写不同,但是差异很大,java.sql.Blob是一个接口,而oracle.s...

黑色头发 1234

JAVA读取图片当回给前端,Oracle数据库存储某张图片的相对路径,在服务端这边怎么引用,并返回给客户端。服务端指得是本人本人建立的We...

这边的服务端是WebService服务端。就都是Java程序,然后有结合的Hibernate。这些其实不重要。就是想问,本人通过select语句获得到这个路径之后,在本人的服务端这边,也就是一个Java文件,要怎么处理,然后能返回给客户端。在数据库里存的是路径的这个情况下,能返回给客户端的,就本人现在所知的,有两种情况,第一种是返回一个字符串,字符串的内容是那张图片的完整路径,当然,是客户端能访问...

weixin_39778214的博客 434

struts从oracle获得图片并在jsp显示图片

1.OutputStream write BufferedInputStream bis = new BufferedInputStream(blob.getBinaryStream()); BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream()); InputStream in = blo...

225

Hibernate的Annotation中实体BLOB、CLOB类型的注解

在Hibernate Annotation中,实体BLOB、CLOB类型的注解与普通的实体属性有些不同,具体操作如下: BLOB类型的属性声明为byte[]或者java.sql.Blob: @Lob @Basic(fetch=FetchType.LAZY) @Column(name="IMGS", columnDefinition="BLOB",

majian_1987的专栏 1029

oracle:图象,从Oracle数据库检索图像的示例

借助PreparedStatement, 我们可以检索图像并将其存储在数据库中。PreparedStatement的getBlob()方法用于获取二进制信息, 它返回Blob的实例。在blob对象上调用getBytes()方法之后, 我们可以获得可以写入图像文件的二进制信息数组。PreparedStatement的getBlob()方法的签名public Blob getBlob()throws ...

weixin_42696271的博客 258

jsp与数据库的面对面交流

jsp与数据库的面对面交流 前言:要完成数据的交互的一种方式就是jsp+jsp+数据库。下面就来演示一个用jsp展示数据库内的图片的小例子。 准备工作: 在数据库中新建一张存放图片的表。新建两张jsp页面,分别是MyJsp1.jsp (处理连接) 和 MyJsp2.jsp (展示图片)。实施: 建表 create table img...

weixin_33779515的博客 106

使用Hibernate和Struts向数据库中保存、读取并显示图片

  最近做了一个小工具给朋友用,需要将图片保存到数据库中,由于朋友只是在单机使用,也就是服务器/客户端是同一台机器,所以就忽略文件上传部分,如果用在传统B/S架构中,需要添加文件上传功能,否则会出错,好了,下面总结一下具体步骤: 一、向数据库中保存图片   在JSP页面中添加文件选择控件:   照片: &lt;html:file property="picture" onchange...

bolan392的博客 277

java上传头像照片,java和base64格式相互转化

今天要做一个功能,就是要将学生的头像批量导入,客户确定的说,没涨头像不超过100kb大小,那么我就像直接把头像写入到数据库的学生表里去,平时不查询它即可。 oracle的数据库字段: 字段名:zp 字段类型:blobjava接收的实体类: private byte[] zp;//照片 jsp页面展示base64格式的图片: <img id="fileboximg" name="f...

DAMO小天天 1216

CVE-2022-21587深度解析:EBS任意文件上传与执行漏洞本质

任意文件上传是Web安全中基础但高危的漏洞类型,其核心原理在于服务端对用户可控文件名、路径和内容的校验缺失或不一致,导致攻击者可绕过过滤机制写入恶意脚本。该类漏洞的技术价值不仅在于文件落盘,更在于能否被Web容器直接解析执行——即‘上传即执行’能力。典型应用场景包括ERP、CMS、OA等企业级系统,尤其当文件上传功能与动态页面目录(如JSP/PHP根路径)耦合时,风险急剧放大。CVE-2022-21587正是Oracle EBS中因OAF框架与OC4J容器对filename解析逻辑分歧,引发的信任边界失效案

weixin_33720956的博客 424

java开发速成班培训课程(22)

[url=http://www.buildapp.net/java/show.asp?id=32800]jfreechart的servlet/jsp中应用cewolf[/url] [url=http://www.buildapp.net/java/show.asp?id=32799]任何类型的文件下载时都会弹出文件保存框的实现(原创)[/url] [url=http://ww...

iteye_10490的博客 518

JavaWeb知识点

1.Maven中的仓库用来存储什么的?Maven的仓库是用来存储和管理jar包的2.Maven中有哪几类仓库?查找依赖(jar)的顺序是什么样的?本地仓库(1)远程仓库(2)中央仓库(3)

ql200106的博客 305

爬虫教程( 2 ) --- scrapy 教程、可视化管理工具、反爬框架、ai 爬虫

scrapy 教程、可视化管理工具、反爬框架、ai 爬虫

freeking101的博客 5259
上一篇: Java的“前世今生”
下一篇: JVM结构基础(一)
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值