(精品)第7章上传和下载.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(精品)第7章上传和下载.ppt》由会员分享,可在线阅读,更多相关《(精品)第7章上传和下载.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 文件上传和下载文件的上传和下载是Web应用中常用的功能。一般情况下可以通过二进制编码的方式来获得请求参数的值,从而通过二进制流来获得上传文件内容。这种手动编程方式比较麻烦,需要手动地控制二进制流,相当的复杂。不过可以使用其他开源组织提供的上传项目,通过这些项目可以非常简单的完成文件上传。7.1 使用上传框架实现文件上传7.1.1 上传框架介绍 7.1.2 下载并安装Common-FileUpload框架 7.1.3 通过Common-FileUpload框架实现文件上传 7.1.4 测试文件上传 7.1.5 上传多个文件7.1.6 测试上传多个文件 7.1.7 下载并安装COS框架 7
2、.1.8 通过COS框架实现文件上传 7.1.9 测试使用COS框架实现文件上传 7.1.1 上传框架介绍文件上传和下载,是一个Web开发应用中常用的功能。在开发中会经常需要实现文件的上传和下载。可以通过获得HTTP请求的输入流,然后通过输出流将数据保存到文件中。不过遇到了很多问题,比如说要实现非文本文件的上传,需要通过自己编写代码来实现是非常困难的事情。有时候可以不必自己去造轮子,而是使用别人造好的轮子。为什么选择使用Struts 2框架呢,也就是因为通过它来构建Web应用会变得更加简单、方便。同样可以使用一些开源的上传框架来实现文件上传,这样可以很轻松地完成应用的需求。不过其底层的实现机制
3、也要花一点时间去了解。虽然不要去手动实现该框架,但是要能够对该框架实现原理有所掌握。下面来看看目前有哪些优秀的上传框架。目前比较流行的有Common-FileUpload框架、COS框架,这两个框架都出生豪门,其上传功能实现得非常好。而且代码封装得特别好,开发人员只需创建几个对象并调用其方法就能实现文件上传。7.1.2 下载并安装Common-FileUpload框架首先还是要去下载Common-FileUpload框架。Common-FileUpload框架是Apache开源组织下的一个项目。登录Apache的官方站点并找到jakarta项目下的Commons项目,单击此链接进入Common
4、s项目首页,如图7-1所示。7.1.3 通过Common-FileUpload框架实现文件上传现在来看如何通过Common-FileUpload框架实现文件上传。7.1.4 测试文件上传现在来测试是否能真正地完成文件上传。首先打开用户输入页,如图7-4所示。,用户名就填写用户自己的名字吧,上传文件选择一个文件比较小点的文件,单击“上传”按钮进行上传。页面跳转到结果输出页。页面中显示了用户名以及上传的文件名,如图7-5所示。7.1.5 上传多个文件下面来看如何同时上传多个文件。在Servlet中使用了循环遍历所有的表单域,所以只要在用户输入页中增加文件域就可以了,修改代码如下所示。7.1.6 测
5、试上传多个文件打开用户输入页,填写用户名并选择两个文件进行上传,如图7-9所示。页面跳转到结果输出页。页面中显示了用户名以及上传的文件名,如图7-10所示。7.1.7 下载并安装COS框架下面来看另一个上传框架,COS框架。COS框架是oreilly组织下的一个小项目。要获得它首先要登录其官方站点“http:/”,单击右侧导航栏中的“com.oreilly.servlet”链接进入COS项目首页,如图7-13所示。从项目首页中看到目前COS的最新版本为05Nov2002,单击其下载链接进行下载。下载完成后,得到一个名为cos-05Nov2002.zip的压缩文件包,如图7-14所示。7.1.8
6、 通过COS框架实现文件上传现在来看如何通过COS框架来实现文件上传。首先将用户输入页和结果页稍微做些修改,将如下代码:通过Common-FileUpload框架完成上传替换成:通过COS框架完成上传COS框架的核心类为MultipartParser,这个类负责解析HTTP请求,同时还可以用来设置上传文件的最大值。可以通过MultipartParser的readNextPart()方法来获得所有的表单域。COS使用Part实例来表示所有的表单域,也就是说不管是普通表单域还是文件域,其类型都是Part。可以调用Part实例的isParam()方法来判断该表单域是不是普通表单域,同样也可以调用其i
7、sFile()来判断该表单域是不是文件域。7.1.9 测试使用COS框架实现文件上传打开用户输入页,填写用户名并选择两个文件进行上传,如图7-15所示。页面跳转到结果输出页。页面中显示了用户名以及上传的文件名,如图7-16所示。7.2 基于Struts 2完成文件上传前面介绍了如何通过Common-FileUpload框架和COS框架实现了文件上传。Struts 2并没有提供上传组件,而是通过调用这些上传框架来实现的上传。Struts 2对于这些上传框架进行了进一步封装,从而更加简化了文件上传。7.2.1 配置上传解析器前面分别通过Common-FileUpload框架和COS框架实现了文件上
8、传,下面来看如何基于Struts 2来完成文件上传。前面提到过Struts 2并没有提供上传组件,而是通过调用这些上传框架来实现的上传,那么如何在Struts 2中配置这些上传框架呢?首先打开导入struts2-core-2.0.11.1.jar库文件,找到org.apache.struts2包下的default.properties资源文件,代码如下所示。在该资源文件中给出了许多的Struts 2的默认配置,其中可以看到Struts 2默认使用jakarta作为其文件上传的解析器,代码如下所示。#Parser to handle HTTP POST requests,encoded usin
9、g the MIME-type multipart/form-data#struts.multipart.parser=cos#struts.multipart.parser=pellstruts.multipart.parser=jakarta7.2.2 实现文件上传Action下面就来看如何基于Struts 2完成单个文件上传。首先创建用户输入页,该页面仅仅包含一个表单,用来输入用户名以及选择用来上传的文件,表单提交到upload.action,代码如下所示。文件上传 Struts 2完成上传 用户名:上传文件:7.2.3 配置文件上传Action在struts.xml文件中配置文件上传A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品第7章 上传和下载 精品 上传 下载
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内