寧云智+裴來芝
摘 要:利用網(wǎng)頁上傳文件的方法有很多種,利用第三方控件來完成是最方便的一種。文章介紹在JSP頁面利用jspSmartUpload組件實現(xiàn)文件的上傳,首先要在服務(wù)器環(huán)境中安裝和配置好組件,再創(chuàng)建上傳表單頁面,最后編寫處理上傳文件操作的代碼。
關(guān)鍵詞:JSP;jspSmartUpload組件;文件上傳
1 jspSmartUpload組件簡介
一個網(wǎng)站總是不可避免地要和用戶進(jìn)行信息的交互,如果只是將一些簡單輸入類型(例如:text,password,radio,checkbox,select等)的信息上傳到服務(wù)器端,只要使用JSP的內(nèi)置對象(如session)進(jìn)行傳遞就可以了。但是如果涉及用戶和服務(wù)器之間的文件交換(包括上傳和下載),僅使用session是不能實現(xiàn)的,必須借助于文件流讀寫的方式來實現(xiàn)。但由于直接應(yīng)用文件流讀寫比較復(fù)雜,加上在上傳文件到服務(wù)器時必須使用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)進(jìn)行一個簡單的介紹和對比,三者之間的比較如表1所示。
2 使用jspSmartUpload組件的服務(wù)器環(huán)境配置
使用jspSmartUpload組件進(jìn)行文件上傳需要在服務(wù)器環(huán)境中安裝和配置好組件,本文以Tomcat為例介紹其安裝和配置方法。其安裝與配置步驟如下。
(1)下載jspSmartUpload組件后,將其解壓。
(2)將其中的com目錄復(fù)制到應(yīng)用程序目錄下的WEB-INF\classes中。
(3)如果希望Tomcat服務(wù)器的所有Web應(yīng)用程序都可以使用jspSmartUpload組件,將com目錄復(fù)制到webapps\ROOT\WEB-INF\classes文件夾中即可。
(4)重新啟動Tomcat,就可以在JSP文件中使用jspSmartUpload組件。
3 使用jspSmartUpload組件實現(xiàn)文件上傳
設(shè)計上傳文件的頁面,先創(chuàng)建上傳表單,指定以post方式進(jìn)行提交,由do_upload.jsp負(fù)責(zé)處理,同時指定enctype屬性為“multipart/form-data”。頁面以表格形式布局,編寫上傳文件的HTML頁面upload.html。其代碼如下。
上傳文件的頁面只提供了文件的選擇功能,沒有將文件上傳到服務(wù)器的功能,下面就來完成編寫處理上傳文件操作的JSP文件do_upload.jsp。其代碼如下。
啟動Tomcat服務(wù)器后,在IE的地址欄中輸入“http://localhost:8080/chap08/ upload.html”。用戶可以通過單擊“瀏覽…”按鈕從操作系統(tǒng)文件夾中選擇要上傳的文件(本例為3.jpg和3.txt),然后單擊“上傳”按鈕,將上傳操作交給do_upload.jsp來完成文件上傳操作。do_upload.jsp通過應(yīng)用jspSmartUpload組件完成文件的上傳,并顯示所有上傳的文件的信息,包括上傳文件數(shù)量、上傳文件名和上傳文件長度。
文件上傳成功后,可以在應(yīng)用程序文件夾的upload文件夾中查看到剛剛上傳的文件(本例為3.jpg和3.txt)。
[參考文獻(xiàn)]
[1]鄒于豐,梁霄波,以繪,等.基于ASP的文件上傳系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)時代,2009(12):33-35.
[2]袁芳.基于ASP.NET的文件上傳模塊的設(shè)計與實現(xiàn)[J].軟件,2014(7):135-139.
[3]戴洋,陳海.在JSP中實現(xiàn)文件上傳下載的相關(guān)問題及改進(jìn)方案[J].計算機(jī)與現(xiàn)代化,2006(10):77-80.
[4]寧云智,劉志成.JSP程序設(shè)計案例教程[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 uploadendprint