从生成csv文件到下载到本地客户机上,是一气呵成的。
这点恐怕作不到。两步要分开作。到下载的页面时,csv文件就应该已经生成好了。

解决方案 »

  1.   

    to  xiaolie() 
      对!是先生成csv文件,然后下载。但对于用户来说是一气呵成的。
      

  2.   

    我的数据库是Oracle。服务器是WebSphere。
      

  3.   

    to  caoze(大漠孤烟) 
        你能说的详细点儿嘛?不生成文件,如何直接下载到客户端呢?
      

  4.   

    先生成文件,下载的时候,是取得源数据(即File对象),生成一个FileOutputStream对象,用输出流写文件到客户端,生成文件
      

  5.   

    哦,没说清楚:
    你把 CONTENT_TYPE 设置成 application/csv
    这样,浏览器就不知道你传过的是什么东西了,会提示你保存的。
    如果行,就这样,散点分过来(分也少了点吧?我才两星)。
    不行的话,再把问题放这里。
      

  6.   

    to shuhw(我想睡觉)
      您能给我举个例子吗?详细的解释一下。我对“输出流写文件到客户端,生成文件”不太了解。
      

  7.   

    to caoze(大漠孤烟) 
      能给我段源程序吗?
      小弟太愚钝了。一两句话,小弟实在是不太理解。
      如何利用输出流写文件到客户端,生成文件呢?
      

  8.   

    这里有个最基本的servlet档案,你编译后运行。
    在浏览器里看你会看到所要的结果的。
    依照这个葫芦,你自己去发挥吧。
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class MyServlet extends HttpServlet {
        static final private String CONTENT_TYPE = "application/csv";
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setContentType(CONTENT_TYPE);
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<head><title>MyServlet</title></head>");
            out.println("<body>");
            out.println("<p>The servlet has received a GET. This is the reply.</p>");
            out.println("</body></html>");
        }
    }