• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        從數據庫中讀取并生成圖片的Servlet

        從數據庫中讀取并生成圖片的Servlet

        更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

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

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

        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() {
        }

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲av无码专区在线播放| 亚洲av无码专区在线观看素人| 久久99精品视免费看| 99热这里有免费国产精品| 国产精品成人免费视频网站京东 | 日本亚洲色大成网站www久久| 亚洲乱亚洲乱妇24p| 色婷婷综合缴情综免费观看| 久久精品国产大片免费观看| 91视频国产免费| 日韩亚洲欧洲在线com91tv| 亚洲中文字幕乱码一区| 特级做A爰片毛片免费看无码 | 亚洲日韩中文字幕无码一区| 亚洲w码欧洲s码免费| 亚洲国产一区二区三区| 亚洲一级毛片免费观看| 四虎国产精品成人免费久久| 亚洲国产av无码精品| 97超高清在线观看免费视频| 亚洲日本在线观看| 免费人人潮人人爽一区二区| 国产精品永久免费10000| 国产亚洲精品无码成人| 美女免费精品高清毛片在线视| 色播精品免费小视频| 亚洲综合成人婷婷五月网址| 国产精品极品美女免费观看| 亚洲女人影院想要爱| 免费人成视频在线观看网站| 亚洲色av性色在线观无码| 精品一区二区三区免费观看 | 曰批全过程免费视频播放网站| 亚洲中文字幕无码日韩| 亚洲乱理伦片在线观看中字| 亚洲国产精品狼友中文久久久| 无码精品人妻一区二区三区免费看 | 成熟女人牲交片免费观看视频| 亚洲国产高清人在线| 我要看WWW免费看插插视频| eeuss草民免费|