jsp与数据库的面对面交流

jsp与数据库的面对面交流

前言:要完成数据的交互的一种方式就是jsp+jsp+数据库。下面就来演示一个用jsp展示数据库内的图片的小例子。

准备工作:

在数据库中新建一张存放图片的表。 新建两张jsp页面,分别是MyJsp1.jsp (处理连接) 和 MyJsp2.jsp (展示图片)。 实施:

建表

create table img ( id int auto_increment primary key, name varchar(100) , image blob //blob是数据库中存放图片的类型 ) MyJsp1.jsp

<%@ page contentType="text/html; charset=gbk" %> <%@ page import="java.io.*"%> <%@ page import="java.sql.*" %> <%@ page import="java.util.*"%> <%@ page import="java.math.*"%> <%String id = request.getParameter("id"); // 接收参数

                                                              //mysql连接 

Class.forName("com.mysql.jdbc.Driver").newInstance(); String URL="jdbc:mysql://localhost:3306/img?user=root&password=123"; Connection con = DriverManager.getConnection(URL); System.out.println(con); //测试连接数据库是否成功

                                                             //oracle连接 

//String URL="jdbc:oracle:thin@localhost:1521:orcl2"; //user="system"; //password="manager"; //Connection con = DriverManager.getConnection(URL,user,password); try{

                                                            // 准备语句执行对象

Statement stmt = con.createStatement(); String sql = " SELECT * FROM img WHERE id = "+ id; ResultSet rs = stmt.executeQuery(sql); if (rs.next()) { Blob b = rs.getBlob("image"); //获取表的image字段,即图片的二进制 long size = b.length(); //计算图片长度 byte[] bs = b.getBytes(1, (int)size); //放入数组 response.setContentType("image/jpg"); //设置给响应的页面一个的响应的内容格式为图片 OutputStream outs = response.getOutputStream(); // 使用输出流 outs.write(bs); //将数组写入输出流 outs.flush(); //刷新输出流 rs.close(); //关闭结果集 } else { rs.close(); } } finally{ con.close(); //关闭连接 out.clear(); out = pageContext.pushBody(); } %>

MyJsp2.jsp

<body>

<img src="MyJsp1.jsp?id=1">

</body>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

ElasticSearch入门介绍之会当凌绝顶(一)

37350
来自专栏同步博客

Memcached与MySQL数据同步

  在生产环境中,我们经常使用MySQL作为应用的数据库。但是随着用户的增多数据量的增大,我们将会自然而然的选择Memcached作为缓存数据库,从而减小MyS...

17420
来自专栏编程

Captcha插件后门分析和修复

0×00 前言 近日看到网上爆出wordpress官方插件captcha出现后门,大惊,本人当初千辛万苦找验证码插件,在十几个插件中选了这款,感觉还挺好用,竟然...

27860
来自专栏蓝天

Linux后台开发常用工具

pwdx - report current working directory of a process,格式:pwdx pid 内存分析工具 v...

16520
来自专栏程序员宝库

手把手教会你小程序登录鉴权

为了方便小程序应用使用微信登录态进行授权登录,微信小程序提供了登录授权的开放接口。乍一看文档,感觉文档上讲的非常有道理,但是实现起来又真的是摸不着头脑,不知道如...

31550
来自专栏云飞学编程

大神说你学会这个爬虫高级技巧,各种网站随便你爬!

18110
来自专栏魏艾斯博客www.vpsss.net

修改 WordPress 数据库默认表前缀 wp_ 的方法

新手使用 wordpress 初期,数据库默认表前缀用的都是 wp_,从理论上来说对博客安全性不好。所以说我们正式搭建博客的时候都会把默认 wp_ 改为别的,比...

24120
来自专栏PHP在线

手把手教会你小程序登录鉴权

55740
来自专栏云计算教程系列

如何在MySQL Ubuntu 16.04上将MySQL数据目录移动到新位置

数据库随着时间的推移而增长,有时会超出文件系统的空间。当它们与操作系统的其余部分位于同一分区时,您也可能遇到I / O争用。RAID,网络块存储和其他设备可以提...

17300
来自专栏IT技术精选文摘

不丢数据的Mysql集群方案设计

方案一、多主同步复制PXC方案 PXC即Percona Xtradb Cluster,它采用Galera引擎,可以实现多个节点间的数据同步复制以及读写并且可保障...

773100

扫码关注云+社区

领取腾讯云代金券