需求:  在数据库中有一个表,我需要将这个表的某些字段的数据以文件的形式下载给用户
.如: 数据库中有一个表  user_info  里面有 name 和 age两个字段 
现在有两条数据  1. zhangsan 18     2. 李四 19用户在web访问的时候,点击一个按钮  ,弹出下载的提示,然后将文件保存在本地. 文件内
容是从这个表中查出来的 如 张三 年龄是18, 李四年龄是19...这样的程序应该这么做呢?我原来做过是生成的是文件在本地(但是现在是用web访问,文件
要在客户端保存), 或者生成了数据以blob的形式保存在数据库中,然后下载.但是现在要求是,不能以blob的形式保存在数据库中.大家给个建议 ~~谢谢了.

解决方案 »

  1.   


    import wuhuif.io.*;
    import wuhuif.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;public class  Download extends HttpServlet
    {
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
        {
            try
            {
                 response.setContentType("application/octet-stream");
                response.setHeader("Content-Disposition", "attachment; filename=\"你要在保存窗口中显示的保存文件名\"");
                ServletOutputStream out = response.getOutputStream();
                BufferedReader br=new BufferedReader(new FileReader(要下载的的文件名));
                
                String line=br.readLine();
                while (line!=null)
                {
                    out.write(line.getBytes());
                    out.println();
                    line=br.readLine();
                }
                out.close();
                br.close();
            }
            catch (Exception e)
            {
                System.out.println(e);
            }
        }
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
        {
            doGet(request, response);
        }
    }
      

  2.   

    OutputStream os = response.getOutputStream();
      response.setContentType("application/vnd.ms-excel");
    这样是下载为excel文件