package com.XXXXXX.file; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; 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.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.XXXXXX.jdbc.DBManager; publicclass DownloadAsStream extends HttpServlet ...{ /** *//** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ publicvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ...{ doPost(request,response); } /** *//** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ publicvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ...{ Connection conn = DBManager.getConnection(); String sql ="SELECT picture FROM teacher WHERE id=1"; PreparedStatement ps =null; ResultSet rs =null; InputStream is =null; OutputStream os =null; try...{ ps = conn.prepareStatement(sql); rs = ps.executeQuery(); if(rs.next())...{ is = rs.getBinaryStream(1); } response.setContentType("text/html"); os = response.getOutputStream(); int num; byte buf[] =newbyte[1024]; while( (num=is.read(buf))!=-1 )...{ os.write(buf, 0, num); } }catch (SQLException e) ...{ e.printStackTrace(); } try...{ is.close(); os.close(); rs.close(); ps.close(); }catch (SQLException e) ...{ e.printStackTrace(); } } }