把mysql读取的图片显示在jsp 页面上
来源:互联网 发布:大逃杀新手知乎 编辑:程序博客网 时间:2024/05/02 18:01
先创建数据库
如:
create table bcctphoto(
photoid int primary key auto_increment,
photoname varchar(50) NOT NULL,
photo blob
);
<2>把show.jsp放在tomcat的任意目录下. show.jsp作用:从数据库中读出blob,并产生image/jpg.
show.jsp文件如下:
<%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>
<%
String photo_no = request.getParameter("photo_no");
//mysql连接
Class.forName("com.mysql.jdbc.Driver").newInstance();
String URL="jdbc:mysql://localhost:3306/bigdate?user=root&password=mysqladmin";
Connection con = DriverManager.getConnection(URL);
//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 PHOTO WHERE photo_no = "+ photo_no;
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
Blob b = rs.getBlob("photo_image");
long size = b.length();
//out.print(size);
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
OutputStream outs = response.getOutputStream();
outs.write(bs);
outs.flush();
rs.close();
}
else {
rs.close();
response.sendRedirect("./images/error.gif");
}
}
finally{
con.close();
}
%>
<3>把如下文件放在show.jsp的同一目录下.
index.html文件如下:
<HTML>
<HEAD>
<TITLE> 图像测试 </TITLE>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD>图像测试</TD>
</TR>
<TR>
<TD><img src="show.jsp?photo_no=2"></TD>
</TR>
</TABLE>
</BODY>
</HTML>
异常处理: 如果出现 getOutputStream() has already been called for this response
异常解析:这里是在释放在jsp中使用的对象,会调用response.getWriter(),因为这个方法是和response.getOutputStream()相冲突的!所以会出现以上这个异常。然后当然是要提出解决的办法,其实挺简单的,在使用完输出流以后调用以下两行代码即可:
解决方法:添加代码
- out.clear();
- out = pageContext.pushBody();
如下代码:
- 把mysql读取的图片显示在jsp 页面上
- 读取本地图片显示在JSP页面上
- JSP读取Oracle数据库里的图片Blob字段并显示在页面上
- java读取mysql中保存的图片并显示在jsp上
- 把图片文件存入oracle数据库 然后读取并显示在jsp页面
- 在JSP页面显示本地硬盘上的图片
- 浅谈如何调用JSP读取数据库中图片并显示在页面上
- jsp读取图片路径,然后在页面中显示图片
- java 通过流的方式读取本地图片并显示在jsp 页面上(类型以jpg、png等结尾的图片)
- Struts1读取图片,在JSP页面中显示
- 在JSP页面显示本地硬盘上的图片,图片不在项目webRoot目录
- ASP.NET读取网络图片并在页面上显示
- ASP.NET读取网络图片并在页面上显示
- JAVA读取数据库存放的二进制文件,并显示在JSP页面上
- autocomplete的使用 从数据库中读取后显示在JSP页面上 JSON jquery
- 上传图片然后显示在JSP页面上
- ASP.NET 用读取二进制代码的方法在页面上显示指定图片。
- C# 读取excel里的图片并显示在页面上
- Bash教程
- HDOJ 题目统计问题(递推)
- Android向服务器传接和接收数据的方法汇总
- keil里面不能修改程序或加入程序
- Android程序的签名保护及绕过方法
- 把mysql读取的图片显示在jsp 页面上
- 二分查找(上界,下界)
- 如何搭建Selenium-Grid2环境(Java)(自动化测试技术)
- UVA 12206 - Stammering Aliens(Hash+LCP)
- charactersFound方法中的陷阱
- 黑马程序员02——基础1
- shell基础二:查找技巧,find及xargs的使用
- Linux/UNIX时间转换函数
- 一个反射方法响应web平台所有ajax数据请求,让web开发速度提高一倍