struts2 实现 下载整个文件夹

struts2 实现 下载整个文件夹,第1张

分析下,如果你要下载某个文件需要向服务器发送请求,然后会在客户端与服务器之间建立一个HTTP连接,服务器接收到你的请求后,向response中写入你要下载的内容,并且由于安全策略的原因,浏览器客户端每次下载文件都会d出保存对话框。

也就是说,如果你要下载文件夹下的所有文件,你就需要对所有文件都发送请求,并且挨个选择保存位置。

如果要解决上面的问题,你可以按照下面的方式做。

1、建立一个servlet(structs2下应该是action吧),用来接收用户的请求。

2、根据用户的请求,将要下载的内容使用org.apache.tools.zip包下的类进行打包(JDK下也有相应的ZIP处理的类,不过它对于中文的文件名处理有问题)。

注:构造ZipOutputStream时使用HttpServletResponse.getOutputStream()构造。这样向ZipOutputStream中写入的内容,客户端就能直接获取。

以上,希望对你的帮助,可以的话,请采纳。

在 struts.xml 加 <constant name="struts.i18n.encodeing" value="GBK"/><!--国际化信息内码-->试试

另外 jsp页面用的什么编码,struts.xml中就用什么编码,例如如果在struts的配置文件中指定的是gbk 那么页面用gb2312和gbk都可以,不要用utf-8,如果struts配置文件中是utf-8,那么页面就用utf-8 不要用gb2312和gbk


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11435171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存