JSP页面中利用jspSmartUpload组件实现文件上传的方法
宁云智+裴来芝
摘 要:利用网页上传文件的方法有很多种,利用第三方控件來完成是最方便的一种。文章介绍在JSP页面利用jspSmartUpload组件实现文件的上传,首先要在服务器环境中安装和配置好组件,再创建上传表单页面,最后编写处理上传文件操作的代码。
关键词:JSP;jspSmartUpload组件;文件上传
1 jspSmartUpload组件简介
一个网站总是不可避免地要和用户进行信息的交互,如果只是将一些简单输入类型(例如:text,password,radio,checkbox,select等)的信息上传到服务器端,只要使用JSP的内置对象(如session)进行传递就可以了。但是如果涉及用户和服务器之间的文件交换(包括上传和下载),仅使用session是不能实现的,必须借助于文件流读写的方式来实现。但由于直接应用文件流读写比较复杂,加上在上传文件到服务器时必须使用multipart/form-data的编码方式,不能直接使用request.getParameter()来取得,因此,对于文件的上传和下载是借助于第三方的组件来完成的。完成文件上传和下载的方法有很多种,例如jspsmart公司的jspSmartUpload组件,O`Reilly公司的cos组件,Jakarta Apache公司的commonsFileUpload组件,JavaZoom的uploadbean组件,以及Struts组件中自带的org.apache.struts.upload类工具等。下面针对其中的3种常用的解决方案(jspSmartUpload、O`Reilly-cos、struts.upload)进行一个简单的介绍和对比,三者之间的比较如表1所示。
2 使用jspSmartUpload组件的服务器环境配置
使用jspSmartUpload组件进行文件上传需要在服务器环境中安装和配置好组件,本文以Tomcat为例介绍其安装和配置方法。其安装与配置步骤如下。
(1)下载jspSmartUpload组件后,将其解压。
(2)将其中的com目录复制到应用程序目录下的WEB-INF\classes中。
(3)如果希望Tomcat服务器的所有Web应用程序都可以使用jspSmartUpload组件,将com目录复制到webapps\ROOT\WEB-INF\classes文件夹中即可。
(4)重新启动Tomcat,就可以在JSP文件中使用jspSmartUpload组件。
3 使用jspSmartUpload组件实现文件上传
设计上传文件的页面,先创建上传表单,指定以post方式进行提交,由do_upload.jsp负责处理,同时指定enctype属性为“multipart/form-data”。页面以表格形式布局,编写上传文件的HTML页面upload.html。其代码如下。
上传文件的页面只提供了文件的选择功能,没有将文件上传到服务器的功能,下面就来完成编写处理上传文件操作的JSP文件do_upload.jsp。其代码如下。
启动Tomcat服务器后,在IE的地址栏中输入“http://localhost:8080/chap08/ upload.html”。用户可以通过单击“浏览…”按钮从操作系统文件夹中选择要上传的文件(本例为3.jpg和3.txt),然后单击“上传”按钮,将上传操作交给do_upload.jsp来完成文件上传操作。do_upload.jsp通过应用jspSmartUpload组件完成文件的上传,并显示所有上传的文件的信息,包括上传文件数量、上传文件名和上传文件长度。
文件上传成功后,可以在应用程序文件夹的upload文件夹中查看到刚刚上传的文件(本例为3.jpg和3.txt)。
[参考文献]
[1]邹于丰,梁霄波,以绘,等.基于ASP的文件上传系统的设计与实现[J].计算机时代,2009(12):33-35.
[2]袁芳.基于ASP.NET的文件上传模块的设计与实现[J].软件,2014(7):135-139.
[3]戴洋,陈海.在JSP中实现文件上传下载的相关问题及改进方案[J].计算机与现代化,2006(10):77-80.
[4]宁云智,刘志成.JSP程序设计案例教程[M].北京:高等教育出版社,2015.
Abstract:There are many ways to upload files through Web pages. It is the most convenient way to use third-party controls. This paper introducesusing jspSmartUpload components to achieve the file upload in JSP pages. First in the server environment to install and configure components, and then create an upload form page, and finally write code to handle the operation of the upload file.
Key words: JSP; jspSmartUpload component; file upload