1. DAO层
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; /** * @Title: getAlfterImgById * @deprecated: 根据图像id查找二进制图像 * @param imageId * 图像id * @return byte[] * @throws Exception * @author * @date 2014-11-5 */ @Override public Blob getAlfterImgById(String imageId) throws Exception { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { // TODO 获取java.sql.Connection conn = ...; // ALFTER_IMG 在数据库中的类型为 BLOB, IMAGE_ID 为主键 String sql = "SELECT ALFTER_IMG FROM HW_IMAGE WHERE IMAGE_ID = ?"; ps = conn.prepareStatement(sql); ps.setString(1, imageId); rs = ps.executeQuery(); if (rs.next()) {// 根据主键查询,只会返回一个结果 return rs.getBlob("ALFTER_IMG"); } } catch (Exception e) { log.error("get alfterImg by imageId fail:" + e.getMessage(), e); throw e; } finally { // TODO close ResultSet // TODO close PreparedStatement // TODO close/release Connection } return null; }
2. service 层
service方法省略,无非调用dao层方法。
3. controller/action 层
本例使用的是 spring 3.2.4.RELEASE,同样也适用于 Struts2、Servlet。
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.io.OutputStream; /** * @Title: displayAlfterImg * @deprecated: 显示分析后的二进制图片 * @return String * @author * @date 2014-11-5 */ @RequestMapping("/displayAlfterImg") public String displayAlfterImg(@RequestParam("imageId") String imageId, HttpServletResponse resp) { InputStream is = null; OutputStream os = null; try { // 调用service层方法 Blob blob = hwImageService.getAlfterImgById(imageId); log.info("get alfterImgBy Id,the result is:" + blob); if (null != blob) { is = blob.getBinaryStream(); resp.setContentType("image/jpeg"); os = resp.getOutputStream(); int num = (int) blob.length(); byte buf[] = new byte[num]; while ((num = is.read(buf)) != -1) { os.write(buf); } } } catch (Exception e) { log.error("display alfterImg fail:" + e.getMessage(), e); } finally { IOUtils.closeStream(is, os); } return null; }
4. jsp
jsp上直接使用 <img>标签
<img width="333" height="249" src="${ctx}/hw/image/displayAlfterImg?imageId=${reportVO.imageId }"/>
相关推荐
这就是如何在MySQL数据库中存储和查询二进制图片数据,并通过JSP进行显示的基本步骤。在实际应用中,还需要考虑错误处理、安全性(如SQL注入防护)以及性能优化等细节。此外,为了提高用户体验,通常会将图片数据...
这种编码方式主要适用于编码那些无法直接通过文本格式传输的数据,比如图片、音频、视频等二进制文件。Base64编码通过把每3个字节的二进制数据转换为4个字符来实现编码过程,每个字符代表着6个比特的信息,因此编码...
### 图片转流存库和读取二进制流页面展示 #### 一、知识点概述 本文档将详细介绍如何在Java环境下实现图片转换为二进制流存储到数据库中的过程,以及如何从数据库中读取出这些二进制流并将其展示在网页上。主要...
标题“图片直接保存到数据库,并在JSP页面显示”涉及的知识点主要集中在Web开发领域,尤其是Java Web开发,包括图片处理、数据库存储以及前端展示。这里我们将深入探讨以下几个关键环节: 1. 图片数据的二进制化:...
### JSP Servlet 动态 Base64 编码图片显示处理 #### 为什么需要使用 Base64 图片信息 在 Web 开发过程中,有时需要将图片等二进制数据...通过合理的编码与解码机制,可以有效地实现数据的网络传输和页面显示功能。
这个页面通常用于展示已上传的文件,尤其是图片等可以直接在浏览器中显示的二进制数据。在JSP中,可以通过`<img>`标签来显示图片,其`src`属性指向文件的URL。如果文件存储在服务器的某个路径下,那么URL通常是相...
在我们的例子中,JSP页面会显示从数据库获取的图片。 2. **Servlet**:Servlet是Java Web应用中的一个组件,负责处理HTTP请求和响应。在这里,我们将创建一个Servlet来从数据库中读取图片的二进制数据,并将其转化...
在“struts1上传图片,保存数据库,再显示jsp页面”这个场景中,我们将探讨如何利用Struts1实现文件上传,将图片数据保存到数据库,并在JSP页面上展示。 1. **Struts1的文件上传组件**: Struts1并不直接支持文件...
### Java中的图片上传并在JSP页面显示 #### 知识点概述 本篇文章将详细介绍如何在Java项目中实现图片的上传功能,并将其显示在JSP页面上。这涉及到多个技术点,包括使用`commons-fileupload`组件处理文件上传、...
这样,当用户访问JSP页面时,图片会根据数据库中的数据动态加载并显示出来。这个过程中涉及到了JSP、Servlet、JDBC、SQL以及图片数据在网络传输中的处理等多个核心概念。实际应用中,还需要考虑错误处理、性能优化、...
这个压缩包文件包含了使用SSH框架实现的一个功能丰富的网站项目,其中包括了验证码验证、二进制文件(如图片)的数据库读写等功能。 1. **Struts**:Struts 是一个基于MVC(Model-View-Controller)设计模式的Java ...
- 保存成功后,Servlet返回响应信息给JSP页面,显示上传结果。 7. **安全性考虑**: - 文件大小限制:防止DoS攻击,需要设置上传文件的最大大小。 - 文件类型检查:仅允许特定类型的图片文件上传,防止恶意文件...
在这个场景中,标题"JSP显示图片"指的是如何在JSP页面上展示用户上传的图片。描述中的“完整的,上传图片之后,显示图片,很好看的”暗示了这个项目可能包含了一个完整的图片上传和显示功能,并且用户体验良好。 在...
在图片存储的场景中,用户通过JSP页面提交图片数据,Servlet接收到这些数据后将其转化为二进制流,存储到MySQL的BLOB字段中。 在图片显示时,JSP同样扮演关键角色。当用户请求查看图片时,JSP页面发送一个请求给...
这里,`enctype="multipart/form-data"`是必须的,因为我们要上传二进制数据(图片文件)。 然后,我们需要一个Servlet或JSP来处理上传的请求。在`uploadImage`动作中,我们将接收文件并保存到服务器的某个目录。...
这可以通过Servlet或JSP实现,从数据库获取图片信息,然后根据存储方式(路径或二进制数据)读取图片并返回给客户端。 9. **文件上传流程**: - 用户通过JSP页面选择图片文件并提交表单。 - Servlet接收到请求,...
一旦文件成功上传,Servlet可以返回一个确认消息,这可以通过设置HTTP响应的状态码和消息,或者将结果传递回JSP页面显示。 通过以上步骤,我们可以创建一个简单的图片上传系统。在这个过程中,JSP和Servlet协同...
上传页面包含文件上传表单,图片列表页面列出已上传的图片,图片显示页面展示单张图片内容。 - **文件上传处理**:上传的图片首先会被上传到服务器,然后由DiskFileUpload类处理,再通过FileItem类解析数据,最终...
- 图片显示时,通常会通过HTTP响应将二进制数据流直接发送到浏览器,而不是将图片存储在服务器上的物理路径。 通过以上步骤,您可以成功地在JSP中实现照片的上传、存储以及从数据库查询后在页面上显示。这是一个...