本人在做一个系统,使用Struts2.1.8+Spring2.5+hibernate3.2。
系统需要的一个功能是:从数据库里搜索出一个文件列表(文件使用一个对象封装,文件名称与数据都保存在Oracle中),然后必须打包成gz包,然后将这个gz包的InputStream返回给Struts2,就可以提供下载功能了。
本人借助服务器的文件系统的确是可以实现这个功能,做法就是将文件从数据库中取出,一个一个保存在本地,然后将它们一个一个打到gz包里,然后再读取这个gz包返回它的流给Struts2。
问题是上面的这种方法需要多次的文件读写,效率可想而知,数据量很大的时候文件系统的维护也是个问题。我的想法是直接从数据库中获取文件列表中的数据读取流,直接将这些数据流打包成gz流,最后需要将这个流转化为InputStream直接返回给Struts2。
这样就解决了效率与维护的问题。但本人还是菜鸟,不知道怎样实现,期待高手的帮助,谢谢!
(本人还只能发表30分的帖子,不知何原因,是在抱歉!)
系统需要的一个功能是:从数据库里搜索出一个文件列表(文件使用一个对象封装,文件名称与数据都保存在Oracle中),然后必须打包成gz包,然后将这个gz包的InputStream返回给Struts2,就可以提供下载功能了。
本人借助服务器的文件系统的确是可以实现这个功能,做法就是将文件从数据库中取出,一个一个保存在本地,然后将它们一个一个打到gz包里,然后再读取这个gz包返回它的流给Struts2。
问题是上面的这种方法需要多次的文件读写,效率可想而知,数据量很大的时候文件系统的维护也是个问题。我的想法是直接从数据库中获取文件列表中的数据读取流,直接将这些数据流打包成gz流,最后需要将这个流转化为InputStream直接返回给Struts2。
这样就解决了效率与维护的问题。但本人还是菜鸟,不知道怎样实现,期待高手的帮助,谢谢!
(本人还只能发表30分的帖子,不知何原因,是在抱歉!)
解决方案 »
- hibernate 关系配置
- 问一个关于hibernate的基础问题,请大家看一下
- jsf标签<h:panelGroup ...></panelGroup >有什么作用?
- SmartUpload的使用
- SSH架构中,struts继承ActionSupport类之后报错
- jsp文件在ie中访问的问题?
- 各位高手,看一看
- 在同一页里javascript的变量值怎么传给jsp代码?
- 请问在JSP中如何重定向到另一个网页?
- 在FireFox中,如何可以在JS中得到event.clientX,而不使用传递参数的方式
- jsp显示太慢,请高手帮忙,经理黑上我了;如果list有100条数据的话,页面会死了,怎么解决!!!!
- Eclipse报错
# OutputStream out = new GZIPOutputStream(res.getOutputStream());
# res.setHeader("Content-Encoding", "gzip");
# ...
# out.close();
# }