/* * ReadFile.java * * Created on 2004年11月17日, 下午3:41 */
package jgwl.app;
import java.io.*;import java.net.*;
import javax.servlet.*;import javax.servlet.http.*;import java.sql.*;import jgwl.base.DataBaseConnection;import java.io.*;import oracle.sql.*;
/** * * @author Roy Chen * @version */public class ReadFile extends HttpServlet { /** Initializes the servlet. */ public void init(ServletConfig config) throws ServletException { super.init(config); } /** Destroys the servlet. */ public void destroy() { } /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { byte[] buf=new byte[4096]; try{ Statement stmt=new DataBaseConnection().getStatement(); ResultSet rs=stmt.executeQuery("select * from demo where id=23"); response.reset(); //response.setHeader("Content-Disposition", "attachement;filename=ss.doc;"); //**如要浏览器直接另存为就不屏蔽上行,filename 为文件名 response.setContentType("application/msword;charset=GBK"); //**此处为文件的mime类型,可以在网上搜到,本例为word //application/vnd.ms-excel;charset=GBK 表示excel文件类型 //application/vnd.pdf;charset=GBK 表示pdf文件类型 ServletOutputStream out=response.getOutputStream(); InputStream in; if(rs.next()) in = blob.getBinaryStream(); while(in.read(buf)!=-1){ out.write(buf); } out.flush(); out.close(); //**以下为网上看到的写如文件的样例 //================== // while(rs.next()) { //ServletOutputStream sout = response.getOutputStream(); //InputStream in = rs.getBinaryStream(1); //byte b[] = new byte[0x7a120]; //for(int i = in.read(b); i != -1;){ // sout.write(b); // in.read(b); // } // sout.flush(); // sout.close(); //} //==================== //FileOutputStream file_out=new FileOutputStream("f:\\filename"); //InputStream blob_in=blob.getBinaryStream(); //int temp; // while((temp=blob_in.read())!=-1){ // file_out.write(temp);} // blob_in.close(); // file_out.close(); //out.write(blob.getBinaryStream().); //out.flush(); stmt.close(); }catch (SQLException e){ e.printStackTrace(); } //PrintWriter out = response.getWriter(); /* TODO output your page here out.println("<html>"); out.println("<head>"); out.println("<title>Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("</body>"); out.println("</html>"); */ //out.close(); } /** Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** Returns a short description of the servlet. */ public String getServletInfo() { return "Short description"; } }
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18