客户端发送请求,从oracle查出数据导出txt格式提示下载

cilyboy 2008-09-03 11:12:58
客户端发送请求,过若干时间后,弹出界面提示下载.
现在的做法用servlet在服务器的某个目录下生成一个文本,然后一条记录一行地往文本追加记录,完毕后客户端弹出界面提示下载;
但是写文本的速度很慢,一秒钟几十K左右,而txt文本的大小最后大概有3-7MB的大小,客户觉得不满意,因为以前用delphi的客户端导出差不多几十秒就可以了。有没人做过类似的东西,指点下。我的想法是能不能有jxl那样的包在内存里处理后直接提示下载,不用去写文件?
...全文
97 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
meadking 2008-11-02
  • 打赏
  • 举报
回复
写在内存中,呵呵!

文件流直接发送,呵呵
cjoy4856 2008-10-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 caili314 的回复:]
可以不必写到文件中去, 而直接写到response.getOutputStream()中去.
servletresponse.setContentType(sContentType);
servletresponse.setCharacterEncoding(ENCODING_CHARSET);
servletresponse.setHeader("Content-Type", "charset=" + ENCODING_CHARSET);
servletresponse.setHeader("Content-Disposition", "attachment;filename=" +
+ encodeFileName(filename));
ServletOutputSt…
[/Quote]
好想是这样的
wangyi123 2008-09-04
  • 打赏
  • 举报
回复
帮顶
caili314 2008-09-04
  • 打赏
  • 举报
回复
可以不必写到文件中去, 而直接写到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();

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧