千家信息网

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

发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,这篇文章给大家分享的是有关JSP如何实现基于WEB的数据库图片存储与动态显示的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据库应用程序,特别是基于WEB的数据库应用程序,
千家信息网最后更新 2024年09月23日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安全错误 数据库的锁怎样保障安全 爱奇艺软件开发面试题目 怎么进入云电脑服务器 外国可多开的免费服务器 表格从服务器打开跳转网页 网络安全定级备案工作进展 泰拉瑞亚多人专家服务器 公司培训软件开发工程师 wbs软件开发项目 网络安全教育校园通讯稿 山师数据库实用技术期末试卷 网络安全系统的硬件 2007年的惠普塔式服务器 在深圳召开的网络安全会议 3011服务器 服务器硬盘坏了该怎么办 阿特拉斯可以自己搭建服务器吗 伍佰万互联网科技靠谱吗 黔西南网络安全知识培训会 动车组网络技术课程报告 计算机网络技术创新思维 查看数据库服务器的防火墙设置 数据库中信息的基本单位 赣州嵌入式软件开发 建立高科技互联网公司小说 西大外文数据库 朔州市公安局网络安全 腾讯云服务器别人登录授权 视频网络安全软件 数据库专用血样袋做什么的 动车组网络技术课程报告
0