`
小鑫的java
  • 浏览: 143678 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

Servlet_从数据库中查询图片的servlet

阅读更多
<img src='servlet/ImgProduct?pid="+pid+"'/>

*********servlet/ImgProduct的写法*********
package commons;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import db.GlobalVars;
//商品图片的产生
public class ImgProduct extends HttpServlet {
    @Override

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String key1=(String)request.getParameter("pid");
        response.setContentType("image/jpeg");
        ServletOutputStream out = response.getOutputStream();
        Connection con = GlobalVars.pool.getConn();
        System.out.println("con:" + con);
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "select pphoto from Products where pid=?";
        try {
            ps = con.prepareStatement(sql);
            ps.setInt(1, Integer.parseInt(key1));
            rs = ps.executeQuery();
           
            if (rs.next()) {
                InputStream input = rs.getBlob(1).getBinaryStream();
                byte[] b = new byte[1024];
                int x = 0;
                while ((x = input.read(b)) != -1) {
                    out.write(b, 0, x);
                    System.out.println("X:"+x);
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }

            GlobalVars.pool.close(con);
        }
        out.flush();
        out.close();

   

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request,response);
    }
   
   

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics