`
jy00509336
  • 浏览: 242600 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

jsp页面通过java调用oracle blob字段显示图片

 
阅读更多

转载自:http://blog.csdn.net/javadwr/article/details/9065989

 

   项目中的图片资源一般建议存储到独立的静态服务器中。为了不让图片、文档等文件资源管理零碎,不能被有心人事删除,最好选择存储oracle的大字段blob类型。这里对于java怎么存储、获取blob类型不多介绍,重点讲解jsp页面img标签显示blob字段。
首先需要通过java代码获取到oracle中的blob字段,对应java类型是java.sql.Blob。

配置web.xml配置一个获取图片的servlet:源码如下。

 

  1. <servlet>  
  2.     <servlet-name>ImageServlet</servlet-name>  
  3.     <servlet-class>ImagerServlet</servlet-class>  
  4. </servlet>  
  5.   
  6. <servlet-mapping>  
  7.     <servlet-name>ImageServlet</servlet-name>  
  8.     <url-pattern>*.img</url-pattern>  
  9. </servlet-mapping>  


JSP页面获取标签:

 

 

  1. <IMG SRC="/show.img" />  


java类Servlet,通过获取到blob字节,通过“image/jpeg”类型返回图片。

 

 

  1. import java.io.IOException;  
  2. import java.io.InputStream;  
  3. import java.sql.Blob;  
  4.   
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.ServletOutputStream;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11.   
  12. public class ImagerServlet extends HttpServlet {  
  13.   
  14.     private static final long serialVersionUID = -5665985198720593386L;  
  15.       
  16.     public ImagerServlet() {  
  17.         super();  
  18.     }  
  19.   
  20.       
  21.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  22.             throws ServletException, IOException {  
  23.         doPost(request,response);  
  24.     }  
  25.   
  26.       
  27.     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  28.         InputStream in = null;  
  29.         ServletOutputStream oStream = null;  
  30.         try {  
  31.             response.reset();  
  32.             response.setContentType("image/jpeg"); //设置repose返回类型,这个很重要  
  33.             request.setCharacterEncoding("gbk");  
  34.               
  35.             oStream =response.getOutputStream();  
  36.             Blob blob = null;//通过java获取到oracle数据库中的blob字段  
  37.             in = blob.getBinaryStream();  
  38.             int blobsize = (int) blob.length();//获取blob长度  
  39.             byte[] blobbytes = new byte[blobsize];  
  40.             int bytesRead = 0;  
  41.             while ((bytesRead = in.read(blobbytes)) != -1) {//循环写入outputstream  
  42.                 oStream.write(blobbytes, 0, bytesRead);  
  43.             }   
  44.         } catch (IOException e) {  
  45.             throw e;  
  46.         } catch (Exception e) {  
  47.         } finally{  
  48.             if (in != null) {  
  49.                 in.close();  
  50.             }  
  51.             if (oStream != null) {  
  52.                 oStream.close();  
  53.             }  
  54.         }  
  55.     }  
  56. }  
分享到:
评论

相关推荐

    java中读取ORACLE中BLOB字段存储的图片

    通过以上步骤,我们成功地实现了在Java程序中读取Oracle数据库BLOB字段中存储的图片,并在前端页面上显示出来。此方法不仅适用于图片,还可以扩展到其他类型的二进制数据,如音频、视频等文件。这对于构建多媒体应用...

    基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案.pdf

    该方案使用JSP技术读取ORACLE数据库中的BLOB字段存储的坐标点,然后将坐标传递到JAVA类中显示图形。在图形的正中还显示了编号,充分展示了JSP结合JAVA应用的优势。 知识点1:JSP技术的应用 * JSP(Java Server ...

    使用JAVA读取ORACLE_BLOB字段实现上传下载.doc

    使用 JAVA 读取 ORACLE BLOB 字段实现上传下载 BLOB(Binary Large Objects)是一种二进制大对象类型,常用于存储大对象,例如图形、声音等。我们可以将 BLOB 区分为三种形式:声像数据、二进制数据和大文本数据。...

    基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案

    ### 基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案 #### 概述 本文介绍了一种利用JSP技术访问Oracle数据库中BLOB字段存储的坐标点,并将其转换为图形显示的方法。这种方法充分利用了JSP与Java的集成优势,...

    jsp实现向oracle中blob字段上传附件

    通过以上步骤,我们实现了使用JSP向Oracle中的BLOB字段上传附件的功能。这个过程涉及到Web表单提交、文件上传处理、JDBC数据库操作、事务管理和错误处理等多个知识点。在实际开发中,可以进一步封装为服务层方法,以...

    基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案 (2007年)

    介绍了JSP处理图形的一种方法,该方法使用JSP访问ORACLE数据库BLOB字段,BLOB字段存储的是排样后的若干图形的坐标点,然后把坐标传递到JAVA中显示图形,在图形正中还显示了编号,充分显示了JSP结合JAVA应用的优势。

    jQuery缩略图和blob的jsp代码

    当用户上传图片时,JSP页面可以接收文件,将其转换为Blob对象,然后存储到Oracle数据库的Blob字段中。在查询时,可以从数据库检索Blob数据,转换回图片格式,并在页面上显示。 图片的上传与显示通常涉及前端和后端...

    Java从数据库中读取Blob对象图片并显示的方法

    在JSP页面中,你可以使用以下代码将图片显示出来: ```html &lt;img name="pic" src="&lt;%=basePath+"servlet/DownloadAsStream"%&gt;"/&gt; ``` 这里的`basePath`是应用的基础路径,`servlet/DownloadAsStream`是处理Blob...

    jsp+servlet+oracle上传图片到数据库(非路径)

    "jsp+servlet+oracle上传图片到数据库(非路径)"这个主题涉及的是一个常见的Web应用开发技术,它利用JavaServer Pages (JSP)、Servlet以及Oracle数据库来实现图片的上传和展示,而不是仅仅存储图片的路径。...

    jsp+js+oracle 实现文件上传数据库,下载到本地

    JDBC(Java Database Connectivity)是Java连接数据库的标准API,使用PreparedStatement对象的`setBlob()`方法,可以将文件流写入到BLOB字段中。 当用户请求下载文件时,JSP页面会根据数据库中的文件ID查询对应的...

    java存取oracle中的COLB类型数据.pdf

    然后,通过 JSP往这张表里插入一条记录,并获取显示它。 插入操作需要注意以下几点: 1. COLB 类型的数据不能直接插入,需要先通过 empty_clob() 方法给它分配一个 locator(同理,BLOB 的用 empty_blob() 函数...

    empty_blob()上传附件

    在处理“上传附件”功能时,这个接口可能会有一个插入操作,使用 "empty_blob()" 创建一个新的BLOB字段,然后将上传的文件内容存储到这个字段中。 接着是 `ContractTopService.java`。这是一个服务层的实现,它会...

    Struts2 Hibernate存取Oracle数据库中的BLOB数据.pdf

    4. Struts2集成:在Struts2的Action类中调用Hibernate API来实现业务逻辑,并通过JSP页面展示结果。 ### 结论 通过Struts2与Hibernate框架的结合,开发者可以构建稳定高效的Web应用,特别是在涉及到需要存储和展示...

    网页在Oracle中存取图片

    2. JDBC操作:使用Java的JDBC驱动程序,将图片数据插入到Oracle数据库的BLOB字段中。涉及SQL语句执行,以及PreparedStatement的setBinaryStream方法或setBlob方法。 三、图片从数据库取出 1. 查询图片:通过SQL查询...

    java扫描仪接口调用

    描述中提到图像可以保存到数据库中,这可能涉及到BLOB(Binary Large Object)类型的字段来存储图像数据。数据库如MySQL、Oracle或SQL Server都支持BLOB类型,用于存储非结构化的二进制数据。为了提高效率,通常会...

    oracle的数据类型_java中Clob型详细用法_struts中实现图片上传功能

    5. 配置数据库:创建相应的表,包含存储图片路径或元数据的字段,可能需要使用 BLOB 或 CLOB 类型来存储大文件。 6. 显示图片:在需要显示图片的页面,根据数据库中存储的路径加载图片。 注意,文件上传时要确保...

    jsp 上传图片并保存到数据库里的servlet代码和jsp代码

    在图片上传场景中,JSP页面通常作为用户界面,收集用户上传的图片,然后通过表单提交到Servlet进行处理。 1. **JSP代码**: JSP页面中,我们需要一个表单来让用户选择要上传的图片。表单需要设置`enctype=...

    struts2上传图片到Oracle

    接下来,我们需要使用JDBC连接Oracle数据库,并将上传的图片文件转换为字节数组,然后存入BLOB字段。以下是一个简单的示例: ```java public String execute() { try (InputStream is = image.getInputStream(); ...

    JSP Servlet 图片上传

    在实际应用中,如果需要持久化图片数据,可以将图片数据存储到数据库的BLOB字段,Oracle数据库支持这种操作。 7. **MyEclipse集成** MyEclipse作为强大的Java EE开发工具,提供了创建、调试JSP和Servlet的便利。...

    JSP+Oracle数据库组建动态网站经典实例

    2. 使用Oracle存储大文件,可能涉及BLOB类型字段的使用。 3. 用户积分系统,可能涉及到数据库中的积分计算规则和用户行为记录。 4. 分类管理和搜索功能,需要设计合理的分类结构和高效的查询算法。 第7章 网上订票...

Global site tag (gtag.js) - Google Analytics