在虛擬機上搭了個資料庫存圖片、日期、名字,圖片用blob形式存盤,我想做一個網頁,定時重繪顯示圖片、日期、名字,名字和日期是可以顯示的,但是圖片顯示是X·······新手求大佬看看代碼!!
servlet端代碼:
package servlet;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import entity.Course;
import util.Shujuku;
/**
* Servlet implementation class showImgServlet
*/
@WebServlet("/showImgServlet")
public class showImgServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String sql = "select image from PDate";
Connection conn =Shujuku.conn() ;
Statement st= null;
ResultSet rs = null;
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
Blob blob=rs.getBlob("image"); // 這是在weblogic環境下取BLOB的值
InputStream in=blob.getBinaryStream();//生成輸入流
BufferedImage bimage = null; // 快取圖片物件
BufferedInputStream ins = new BufferedInputStream(in); //生成快取輸入流
bimage=ImageIO.read(ins);//由ImageIO物件讀成快取圖片物件。ImageIO是個很重要的物件
FileOutputStream sos=new FileOutputStream(new File("D:/1.jpg"));
BufferedOutputStream bos = new BufferedOutputStream(sos); //生成輸出快取
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos); //生成JPEG圖片物件
encoder.encode(bimage); //按格式把圖片流進行編碼
bos.close();
sos.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Shujuku.close(rs,st, conn);
}
}
}
jsp顯示:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>這是第二個測驗圖片</title>
<style>
.tb, td {
border: 1px solid black;
font-size: 22px;
}
</style>
</head>
<body>
<h1>通過流的形式加載圖片到JSP頁面顯示</h1>
<img alt="" src="https://bbs.csdn.net/topics/servlet/showImgServlet" title="" style="width: 300px;height: 300px">
</body>
</html>
uj5u.com熱心網友回復:
圖片一般都是存檔案,資料庫只是保存檔案路徑轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/72319.html
標籤:HTML(CSS)
