免费论文查重: 大雅 万方 维普 turnitin paperpass

关于管理系统基于Struts2随书光盘管理系统文件上传模块设计结论

最后更新时间:2024-03-24 作者:用户投稿原创标记本站原创 点赞:6236 浏览:13960
论文导读:
摘要:为有效解决随书光盘文件的上传,以Struts2框架的Common-FileUpload组件为基础,讨论了使用Struts2框架上传文件的开发配置,在满足随书光盘系统功能的情况下,优化系统功能,保证系统性能稳定,方便管理员和读者的使用。
关键词: 大文件上传;随书光盘;Struts2
1009-3044(2013)09-2149-02
基于网络的随书光盘系统中,文件的传送是系统核心。网络应用中的FTP曾经是文件传送的主要方式,但FTP难于和B/S结构的网络系统无缝集成,且FTP还存在安全性问题,故B/S结构的文件传送组件正逐渐成为文件传送的主流。Struts2是一个优秀的开源框架,它集成了Apache开源项目的Common-Fileupload组件,在上传组件原有文件的基础上,进行了进一步封装,更进一步的简化了文件上传。通过Struts2的文件上传,只需要通过三个属性封装表单里的文件域,即可非常轻松地完成文件上传。Struts2提供对文件下载支持的stream的结果类型,通过借助于Struts2提供的文件下载支持,应用可以实现非西欧字符文件名的文件下载,并可以在文件下载前检查用户的权限,从而通过授权控制来控制文件下载。鉴于随书光盘系统只针对读者提供服务,如果允许所有用户无限制的下载,那将极大的降低系统性能,通过对用户身份进行识别甄别,即可保证用户的使用,又可保证系统的性能。
1 基于B/S结构的上传组件
RFC1867协议在HTTP协议的基础上定义了网页文件上传的基本方式,即为表单的INPUT标签增加了file属性,同时限定了form的method必须为POST,ENCTYPE必须为multipart/form-data,当POST方法的ENCTYPE设定为multipart/form-data时,提交表单数值以二进制流的方式来处理表单数据并把文件域指定文件也封装到请求当中,不再以字符串方式提交请求数据。
Ja技术中有两个常用的文件上传项目:Common-FileUpload和Cos。不管使用哪个框架,它都负责解析出HttpServletRequest请求中的所有域。上传框架获得文件域对应的文件内容,通过IO流将文件内容写入服务器的任意位置,从而完成文件上传。Common-Fileupload框架是Apache组织下jakarta-commons[3]项目组下的一个子项目,该框架方便地将multipart/form-data类型请求中的各种表单域解析出来。该项目依赖另一个项目:Common-IO。Common-IO是处理文件的读写操作功能库。Common-FileUpload框架通过调用Common-IO组件来完成对客户端与服务端文件的读写。
Struts2默认使用Jakarta的Common-Fileupload文件上传框架,但需要在WEB应用于中增加commons-io-2.0.1.jar和commons-fileupload-1.2.2.jar,将Struts2项目lib下这两个文件复制到WEB应用WEB-INF\lib路径下即完成组件部署。Struts2文件上传支持在原有文件上传项目上做进一步封装,简化了文件上传的代码实现,取消了不同上传项目上的编程差异。Struts2的Action无需处理HttpServletRequest请求,因Struts2的Action已经与Servlet API彻底分离,Struts2框架负责解析HttpServletRequest请求中的参数,包括文件域,Struts2使用File类型来封装文件域。
2 基于Struts2的内置控件的大文件上传方法

2.1上传页面设计

随书光盘管理系统主要是对随书光盘进行管理与利用,管理员利用UltraISO或WinISO等软件把随书光盘处理为ISO镜像文件并压缩,然后通过随书怎么写论文www.7ctime.com
光盘管理系统的数据管理页面,对随书光盘进行编辑随书关联信息并上传。在本系统中,文件上传功能是系统核心。系统在进行文件上传的同时把书目数据信息保存到后台数据库中,并把与读者借阅读者的信息也保存到相应的数据表中,实现图书的借阅与随书光盘的同步推送。执行过程如图1所示:论文导读:文件;如果是读者通过浏览器访问系统,读者通过所借阅图书查询随书光盘信息并下载随书光盘文件。在随书光盘系统中,上传文件的文件名采用上传时间加上5位随机数的方式,这样可以在同一目录唯一生成一个文件名,例如:2013032587659.rar。上传成功后系统把文件存储在WEB服务器的Upload目录,然后把新生成的文件名和管理员编辑的

客户端浏览器可以通过WEB方式访问随书光盘系统,如果是管理员登录,可以编辑随书光盘信息,上传随书光盘文件;如果是读者通过浏览器访问系统,读者通过所借阅图书查询随书光盘信息并下载随书光盘文件。
在随书光盘系统中,上传文件的文件名采用上传时间加上5位随机数的方式,这样可以在同一目录唯一生成一个文件名,例如:2013032587659.rar。上传成功后系统把文件存储在WEB服务器的Upload目录,然后把新生成的文件名和管理员编辑的信息写入Mysql数据库中以方便读者浏览下载。

2.2上传文件处理

常见的随书光盘通常都是文件体积较大的文件,例如CD-ROM[4]的最大存储容量为700M;目前许多随书光盘采用DVD格式,而常见的单面DVD[5]存储容量为4.7G。这些文件经过打包压缩处理后,容量也能达到1GB甚至更大,这样的大文件上传对B/S结构的WEB服务器具有很大的压力,为了能让WEB容器提供稳定可靠的服务,在设计上传组件时,需要针对大文件上传作专门的优化。
Struts2提供了一个文件上传的,通过配置该可轻松实现文件过滤。Struts2中文件上传过滤器是fileUpload,为了让起作用,需要在该Action中配置引用。fileUpload可以指定两个参数。
allowedTypes:该参数指定允许上传的文件类型,多个文件类型之间以英文逗号分隔。源于:论文要求www.7ctime.com