基于Struts 2框架文件上传下载功能设计与实现.docVIP

基于Struts 2框架文件上传下载功能设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Struts 2框架文件上传下载功能设计与实现

基于Struts 2框架文件上传下载功能设计与实现   摘要:针对上传下载功能在办公系统,管理系统等应用系统中的广泛性,基于Struts 2框架,对文件的上传下载功能进行设计,给出相应的设计方案,并在办公系统中加以实现和验证,使得客户能够将本地文件上传到服务器端并对其进行下载。   关键字:Struts 2框架; 上传; 下载   【分类号】:TP311.10   1 引言   随着信息技术的发展,基于B/S(浏览器/服务器)架构的web系统的应用越来越广泛,而文件的上传和下载的功能是这些系统中常用的功能模块之一。例如,在办公系统中的收发邮件的功能模块,有进行收发附件的操作;在管理信息系统中,有存储和显示注册人员的照片等功能。本文将基于Struts 2的开发框架,通过使用Struts提供的Commons FileUpload,将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中,从而实现以本地文件方式的操作浏览器上传的文件和下载本地的文件。   2 文件上传功能的设计实现   上传文件首先是将文件上传到服务器,有两种方式实现。第一种是将上载的内容以文件的形式存储到服务器的硬盘;第二种是将文件直接上传到数据库服务器的数据库中。本文采取第一种文件上传的实现方式。   在上传功能的设计过程中,需要对前后台页面进行相应的设置和编码,通过前后台的相互交互和配合,达到上传的目的。   2.1 创建文件上传页面   在前台页面中,规定了上传文件所使用的HTML表单的格式。   from表单中的enctype属性的设置,确保匿名文件上传的正确编码。Struts标签中的标志将文件上传控件绑定到Action的upload属性。   2.2 创建后台代码模块   2.2.1 创建后台代码   后台程序应与前台程序相互对应,后台程序代码主要从JavaBean和Action两个方面创建,从而共同实现文件的上传功能。在上传方法中,设置两个File类的参数src,target,分别代表上传的源文件和目标文件。引入java包中的java.io.BufferedInputStream和java,io.BufferedOutputStream两个包,将源文件和目标文件以输入输出流的形式创建,并保存到指定的缓冲区中(缓冲区的大小可自行定义)进行读写操作。在文件上传时,先将源文件以输入流的形式进行读操作,保存到缓冲区中,再以输出流的形式将缓冲区的内容进行写操作,成为目标文件,从而实现了从源文件到目标文件的上传。   这里定义缓冲区的大小为16*1024,也就是16个字节,同时通过byte[] buffer=new byte[buffer_size];这行代码,定义了一个长度为16的定长字节数组buffer,用以读写的操作。   2.3.2 调用上传方法   创建好上传方法之后,对其进行调用。首先,为上传的文件设置大小,如果超过9M,则提示上传失败,由后台将失败的提示信息传到前台页面中。如果文件小于9M,将源文件上传到指定的路径中去。   由File file=new File(dir+/upLoad/+uploadFileName);这行代码可以看出,这里将源文件上传到指定的文件夹名为upload的路径下,便于查询。   2.4 对上传的Action文件进行配置   上传功能的Action代码创建完之后,要将其在struts.xml里面进行相应的配置。在设置文件大小时,struts.multipart.maxSize掌控整个项目所上传文件的最大的内存,超过这个内存,后台会报错。因此fileUpload拦截器的maxmumSize属性必须小于struts.multipart.maxSize的值,而struts.multipart.maxSize默认大小是2M,所以对于struts.multipart.maxSize可以采用如下配置方法:      在struts.xml中,对fileUpLoad的action请求的配置代码如下:      /mailWrite.action   /mailWrite.action   /mailWrite.action            这里需要注意,拦截器的设置应当指明为struts自带的默认拦截器,若采用自定义的拦截器,会影响上传功能。   3 文件下载功能的设计实现   文件上传功能实现以后,对文件进行下载。文件下载的原理就是将上传的文件从服务器的指定路径以输入流(InputStream)的形式读取出来,引用了java包中的java.io.FileInputStream,下载功能的实现方法和步骤与上传

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档