千家信息网

JSP如何实现基于WEB的数据库图片存储与动态显示

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关JSP如何实现基于WEB的数据库图片存储与动态显示的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据库应用程序,特别是基于WEB的数据库应用程序,
千家信息网最后更新 2026年11月02日JSP如何实现基于WEB的数据库图片存储与动态显示

这篇文章给大家分享的是有关JSP如何实现基于WEB的数据库图片存储与动态显示的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

数据库应用程序,特别是基于WEB的数据库应用程序,常会涉及到图片信息的存储和显示 。

通常我们使用的方法是将所要显示的图片存在特定的目录下,在数据库中保存相应的图片 的名称,在JSP中建立相应的数据源,利用数据库访问技术处理图片信息。但是,如果我们想 动态的显示图片,上述方法就不能满足需要了。我们必须把图片存入数据库,然后通过编程动 态地显示我们需要的图片。实际操作中,可以利用JSP的编程模式来实现图片的数据库存储和 显示。

建立后台数据库


if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[p]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[p]
GO
CREATE TABLE [dbo].[p] (
  [picid] [int] IDENTITY (1, 1) NOT NULL ,
  [picname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
  [pic] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

向数据库存储二进制图片

启动Dreamweaver MX后,新建一个JSP文件。其代码如下所示。

<%@ page contentType="text/html;charset=gb2312"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> My JSP 'InputImage.jsp' starting page                
题目图片 
 

将此文件保存为InputImage.jsp文件,其中testimage.jsp文件是用来将图片数据存入数据 库的,具体代码如下所示:

<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> My JSP 'testimage.jsp' starting page             <% request.setCharacterEncoding("gb2312");//建立Statement对象String picname=request.getParameter("picname");String pic=request.getParameter("pic");//获得所要显示图片的标题、存储路径、内容,并进行中文编码FileInputStream str=new FileInputStream(pic);String sql="insert into p(picname,pic) values(?,?)";PreparedStatement pstmt=conn.getPreparedStatement(sql);pstmt.setString(1,picname);pstmt.setBinaryStream(2,str,str.available());pstmt.execute();//将数据存入数据库out.println("Success,You Have Insert an Image Successfully");%>

网页中动态显示图片

接下来我们要编程从数据库中取出图片,其代码如下所示。

<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> My JSP 'testimageout.jsp' starting page                <% int id= Integer.parseInt(request.getParameter("picid")); String sql = "select pic from p WHERE picid="+id; ResultSet rs=conn.getResult(sql);  while(rs.next())  { ServletOutputStream sout = response.getOutputStream(); //图片输出的输出流 InputStream in = rs.getBinaryStream(1); byte b[] = new byte[0x7a120]; for(int i = in.read(b); i != -1;) {sout.write(b);//将缓冲区的输入输出到页面in.read(b); } sout.flush(); //输入完毕,清除缓冲 sout.close();  }%> 

将此文件保存为testimageout.jsp文件。下一步要做的工作就是使用HTML标记:

<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> My JSP 'lookpic.jsp' starting page               <% String sql = "select * from p"; ResultSet rs=conn.getResult(sql);  while(rs.next())  { %>" width="100" height="100"><% } rs.close(); %>

感谢各位的阅读!关于"JSP如何实现基于WEB的数据库图片存储与动态显示"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

图片 数据 数据库 文件 存储 动态 代码 编程 信息 内容 应用程序 方法 更多 程序 篇文章 应用 不错 实用 接下来 二进制 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州百单互联网科技有限公司 互联网的科技 互联网品科技 上海挚品互联网科技 奇士达互联网科技 互联网科技ppt模板 新华互联网科技2019 江阴互联网智能科技产品进口 互联网科技和信息 广西互联网科技孵化中心 允成互联网科技有限公司融资 山东有哪些互联网科技公司 厦门江牛科技互联网 互联网科技包装股份有限公司上市 东营紫格互联网科技 上海乐五互联网科技有限公司 互联网科技企业商标注意事项 米泉互联网科技专业怎么样 亚光科技低轨卫星互联网 黑龙江互联网科技公司 互联网金融 科技创新 居家互联网科技有限公司 互联网科技和信息 企晟互联网信息科技有限公司 西安小鹰速贷互联网科技有限公司 互联网科技博主张洲 伍佰万互联网科技是干嘛的 六子台科技互联网展会 知域互联网科技有限公司官网 如何强化互联网金融科技
0