国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

從數(shù)據庫中讀取并生成圖片的Servlet

2019-11-18 13:54:35
字體:
來源:轉載
供稿:網友

  從數(shù)據庫中讀取并生成圖片的Servlet

大體思路
1)創(chuàng)建ServletOutputStream對象out,用于以字節(jié)流的方式輸出圖像
2)查詢數(shù)據庫,用getBinaryStream方法返回InputStream對象in
3)創(chuàng)建byte數(shù)組用作緩沖,將in讀入buf[],再由out輸出

注:下面的例程中數(shù)據庫連接用了ConnectionPool,以及參數(shù)的獲得進行了預處理

package net.seasky.music;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import net.seasky.util.*;
import net.seasky.database.DbConnectionManager;

public class CoverServlet extends HttpServlet {
PRivate static final String CONTENT_TYPE = "image/gif";
public void init(ServletConfig config) throws ServletException {
super.init(config);
}

public void doGet(HttpServletRequest request, HttpServletResponse response
) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
int albumID;
ServletOutputStream out = response.getOutputStream();
try {
albumID = ParamManager.getIntParameter(request,"albumID",0);
}
catch (Exception e) {
response.sendRedirect("../ErroePage.jsp");
return;
}
try {
InputStream in=this.getCover(albumID);
int len;
byte buf[]=new byte[1024];
while ((len=in.read(buf,0,1024))!=-1) {
out.write(buf,0,len);
}
}
catch (IOException ioe) {
ioe.printStackTrace() ;
}
}

private InputStream getCover(int albumID) {
InputStream in=null;
Connection cn = null;
PreparedStatement pst = null;
try {
cn=DbConnectionManager.getConnection();
cn.setCatalog("music");
pst=cn.prepareStatement("SELECT img FROM cover where ID =?");
pst.setInt(1,albumID);
ResultSet rs=pst.executeQuery();
rs.next() ;
in=rs.getBinaryStream("img");
}
catch (SQLException sqle) {
System.err.println("Error in CoverServlet : getCover()-" + sqle);
sqle.printStackTrace() ;
}
finally {
try {
pst.close() ;
cn.close() ;
}
catch (Exception e) {
e.printStackTrace();
}
}
return in;
}

public void destroy() {
}
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黔江区| 通州区| 平原县| 内丘县| 太谷县| 桐梓县| 德州市| 乌拉特前旗| 盐山县| 浦城县| 贞丰县| 青龙| 康平县| 棋牌| 泊头市| 马山县| 攀枝花市| 探索| 铜川市| 开远市| 论坛| 建瓯市| 江城| 茌平县| 平安县| 横峰县| 麟游县| 涞水县| 大埔县| 昌吉市| 阿克| 页游| 吐鲁番市| 永德县| 三台县| 南部县| 高碑店市| 灵川县| 阜新| 唐海县| 韩城市|