Java Web开发中的上传与下载技术

时间:2022-10-29 10:35:15

Java Web开发中的上传与下载技术

摘要:文件的上传和下载在网络应用中非常普遍,应用各种文件上传与下载组件来实现可以简化操作、节约项目开发时间。介绍了jspSmartUpload、commons-fileUpload上传组件,Struts文件上传,Spring文件上传技术,及组件下载、输出流方式下载技术。

关键词:上传;下载;组件;类;对象

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)12-2776-03

Upload and Download Technology in Java Web Development

YE Qian-wen

(Sanshui Technical Secondary School and Vestibule School, Foshan 528100, China)

Abstract: Upload and download files are very common in network applications. The application of a variety of file upload and download components can simplify operations, save project development time. Introduced jspSmartUpload, commons-fileUploadcomponents, Struts and the Spring file upload technology, component download, The output stream download technology.

Key words: upload; download; component; class; object

文件的上传和下载在网络应用中非常普遍,可以通过流来实现文件的上传与下载,但是这种方式较为麻烦。为了节省开发项目的时间、简化操作,可应用各种文件上传与下载组件来实现。这些组件对许多操作进行了封装,提供了各种接口和方法,在开发时只需调用这些方法,即可实现文件的上传与下载。

在众多文件上传组件中,比较流行的是jspSmartUpload与commons-fileUpload,这两种组件为文件的上传与下载提供了便利的方法。下面介绍Java Web开发中常用的上传与下载组件及技术

1 jspSmartUpload组件

jspSmartUpload是一个功能较全面的上传与下载组件,可从www.省略网站上下载。该组件有以下特点:

1)使用简单。jspSmartUpload组件对许多方法进行了封装,在web应用中只需要书写三五行代码就能完成文件上传下载操作。

2)有过滤功能。jspSmartUpload上传组件提供了获取全部上传文件的功能,例如获取文件名、文件大小、文件类型、扩展名等,并能对文件上传的大小、类型等做出限制,过滤掉不符合要求的文件。

3)下载方法灵活。使用jspSmartUpload组件可对Web服务器中任意目录下的文件进行下载。

2 commons-fileUpload组件

commons-fileUpload上传组件是Apache的一个开源项目,需要commons-io包的支持,在Apache的官方网站上均可下载。该组件使用方便,可以实现一个或多个文件的上传,同时能限制文件大小。与jspSmartUpload组件相比,commons-fileUpload对中文支持良好。基于上述优势,加之jspSmartUpload上传组件已经停止了开发,因此建议使用commons-fileUpload上传组件。通过com mons-fileUpload实现文件上传的基本步骤如下:

2.1创建DiskFileItemFactory对象

首先要创建DiskFileItemFactory对象,用于配置上传组件ServletFileUpload。代码如下:DiskFileItemFactory factory=new DiskFileItemFactory ( );

DiskFileItemFactory类提供了众多方法对上传文件进行设置,常用方法有:

1)public void setSizeThreshold(int sizeThreshold)

参数用于设置最大内存大小。Apache文件上传组件在解析上传数据中的每个字段内容时,需要临时保存解析出的数据,以便在后面进行数据的进一步处理(保存在磁盘特定位置或插入数据库)。因为Java虚拟机默认可以使用的内存空间是有限的,超出限制时将会抛出“java.lang.OutOfMemoryError”错误。如果上传的文件很大,例如800M的文件,在内存中将无法临时保存该文件内容,Apache文件上传组件转而采用临时文件来保存这些数据;但如果上传的文件很小,例如600个字节的文件,显然将其直接保存在内存中性能会更加好些。

2)public void setRepositoryPath (String repositoryPath)

参数用于设置临时目录,setRepositoryPath方法用于设置当上传文件尺寸大于setSizeThreshold方法设置的临界值时,将文件以临时文件形式保存在磁盘上的存放目录。有一个对应的获得临时文件夹的File getRepository()方法。

3)public File getRepository( )获取保存临时文件地址。

2.2创建ServletFileUpload对象

ServletFileUpload对象即上传文件的句柄。以DiskFileItemFactory对象为参数构造ServletFileUpload对象,代码为:

ServletFileUpload upload=new ServletFileUpload(factory);

ServletFileUpload类常用方法有:

1)boolean isMultipartContent(.

上一篇:基于Web Services的校园教学资源整合的研究 下一篇:基于LabVIEW的示波器教学方法研究与探索