客户端发送请求,过若干时间后,弹出界面提示下载.
现在的做法用servlet在服务器的某个目录下生成一个文本,然后一条记录一行地往文本追加记录,完毕后客户端弹出界面提示下载;
但是写文本的速度很慢,一秒钟几十K左右,而txt文本的大小最后大概有3-7MB的大小,客户觉得不满意,因为以前用delphi的客户端导出差不多几十秒就可以了。有没人做过类似的东西,指点下。我的想法是能不能有jxl那样的包在内存里处理后直接提示下载,不用去写文件?

解决方案 »

  1.   

    可以不必写到文件中去, 而直接写到response.getOutputStream()中去.
        servletresponse.setContentType(sContentType);
        servletresponse.setCharacterEncoding(ENCODING_CHARSET);
        servletresponse.setHeader("Content-Type", "charset=" + ENCODING_CHARSET);
        servletresponse.setHeader("Content-Disposition", "attachment;filename=" + 
            + encodeFileName(filename));
        ServletOutputStream out = servletresponse.getOutputStream();
        ....
        servletresponse.setContentLength(len);
        out.flush();