![第4章 JSP文件對象 4.5 案例ch4.5-fileUpload文件上傳_第1頁](http://file4.renrendoc.com/view12/M03/3B/09/wKhkGWa8DVyAHRcIAAKRvoaBPsw220.jpg)
![第4章 JSP文件對象 4.5 案例ch4.5-fileUpload文件上傳_第2頁](http://file4.renrendoc.com/view12/M03/3B/09/wKhkGWa8DVyAHRcIAAKRvoaBPsw2202.jpg)
![第4章 JSP文件對象 4.5 案例ch4.5-fileUpload文件上傳_第3頁](http://file4.renrendoc.com/view12/M03/3B/09/wKhkGWa8DVyAHRcIAAKRvoaBPsw2203.jpg)
![第4章 JSP文件對象 4.5 案例ch4.5-fileUpload文件上傳_第4頁](http://file4.renrendoc.com/view12/M03/3B/09/wKhkGWa8DVyAHRcIAAKRvoaBPsw2204.jpg)
![第4章 JSP文件對象 4.5 案例ch4.5-fileUpload文件上傳_第5頁](http://file4.renrendoc.com/view12/M03/3B/09/wKhkGWa8DVyAHRcIAAKRvoaBPsw2205.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
JSP開發(fā)案例教程JSP開發(fā)案例教程第4章JSP文件對象4.5案例ch4.5_fileUpload:文件上傳File對象的創(chuàng)建02案例ch4.4_fileManage:文件管理04本章內(nèi)容File對象概述01File對象常用的方法03案例ch4.5_fileUpload:文件上傳05小結(jié)與練習(xí)06JSP開發(fā)案例教程4.5案例ch4.5_fileUpload文件上傳案例利用文件上傳組件CommonsFileUpload,實現(xiàn)了上傳文件到服務(wù)器文件夾,并且在文件上傳成功后,還能將之前在文本框中輸入的文字顯示在結(jié)果頁面中。圖4-6文件選擇頁圖4-7文件上傳結(jié)果頁圖4-8項目文件列表文件上傳的作用文件上傳是網(wǎng)站常有的功能,將文件上傳到服務(wù)器中的某個文件夾,以供在頁面中顯示或下載等,如個人頭像照片、產(chǎn)品照片、視頻資料或其他電子文件的上傳等。文件上傳組件CommonsFileUpload簡介文件上傳的實現(xiàn)文件上傳是通過I/O流實現(xiàn)的,通過二進(jìn)制流的方式向服務(wù)器傳輸數(shù)據(jù),服務(wù)器通過流接收數(shù)據(jù),然后將其解析成文件,最終保存在服務(wù)器上。Java(JDK16)默認(rèn)沒有原生的、完整的文件上傳功能,要實現(xiàn)文件上傳功能通常通過文件上傳組件來實現(xiàn)。網(wǎng)絡(luò)上的文件上傳組件有很多,本課程使用的上傳組件是CommonsFileUpload。CommonsFileUpload工具包是Apache組織提供的一個免費的文件上傳組件,提供健壯而又高效的文件上傳功能。通過這個工具包,不但能上傳文件,還能限制文件上傳的大小、緩沖區(qū)大小等,而且在上傳文件的同時,還能獲取所輸入的文字內(nèi)容。CommonsFileUpload依賴于CommonsIO,因此項目的類路徑下需要有CommonsIO的JAR包??稍贏pacheCommons官網(wǎng)下載需要的JAR包,本案例使用的是commons-fileupload-1.4.jar和commons-io-2.5.jar,已包含在素材文件中。File對象的創(chuàng)建新建Web項目ch4.5_fileUpload,將案例素材中的網(wǎng)頁文件index.jsp和fileUpload.jsp件復(fù)制到目錄src/main/webapp。將2個jar包commons-fileupload-1.4.jar和commons-io-2.5.jar復(fù)制粘貼到目錄src/main/webapp/WEB-INF/lib。文件上傳結(jié)果頁fileUpload.jsp修改網(wǎng)頁index.jsp圖4-6文件選擇頁代碼第15行和第17行的input控件,其type屬性的值應(yīng)設(shè)為“file”,在頁面中將顯示文件域控件。代碼第11行,form屬性中的method和enctype的設(shè)值對于文件上傳非常關(guān)鍵。由于上傳的文件是通過流的方式傳輸?shù)模詍ethod必需設(shè)值為“post”。而enctype必需設(shè)值為“multipart/form-data”才能實現(xiàn)文件上傳。修改網(wǎng)頁fileUpload.jsp。主要實現(xiàn)了創(chuàng)建了文件上傳對象,獲取表單提交的文本信息(在“真實姓名”文本框username中輸入的內(nèi)容)并輸出到頁面,如圖4-9所示;獲取文件名并輸出到控制臺,如圖4-10所示。代碼第34~40行,實現(xiàn)了創(chuàng)建3個文件上傳相關(guān)的對象:類DiskFileItemFactory的對象factory,類ServletFileUpload的對象upload,以及類FileItem的對象列表listFileItem。代碼第43行,將獲取到的表單控件信息,分別存入列表對象listFileItem中,并在代碼第51行將每個對象的信息輸出到控制臺。代碼第50~71行,實現(xiàn)了對列表中的每個對象進(jìn)行考察,如果是表單字段,則附加到變量msg中,如果是文件,則獲取文件名并輸出到控制臺。操作1:獲取表單內(nèi)容圖4-9表單提交的文字信息圖4-10在控制臺輸出的對象信息和文件名繼續(xù)修改網(wǎng)頁fileUpload.jsp,在已有代碼第72行之后新添如下代碼。此段代碼實現(xiàn)了獲取文件的文件名、文件大小,生成文件下載鏈接,刪除已有同名文件和保存文件到服務(wù)器磁盤。文件上傳成功時的頁面測試效果如圖4-7所示。代碼第90~95行是很有必要的,讀者可嘗試將這幾行代碼注釋掉再測試,當(dāng)上傳同名文件時,由于已有同名文件,在將文件保存到磁盤時會拋出文件已存在的異常。操作2:將文件保存到服務(wù)器磁盤
圖4-7文件上傳結(jié)果頁案例練習(xí):
ch4.5ex_uploadLimited(有限制的上傳)要求:創(chuàng)建Web項目ch4.5ex_uploadLimited,將案例素材中的網(wǎng)頁文件index.jsp和fileUpload.jsp件復(fù)制到目錄src/main/webapp,將2個jar包commons-fileupload-1.4.jar和commons-io-2.5.jar復(fù)制粘貼到目錄src/main/webapp/WEB-INF/lib。在文件選擇頁index.jsp中,含有一個文本框和文件域,文本框的默認(rèn)值為zhangsan或自己姓名的全拼,如圖4-11所示。fileUpload.jsp頁已有的代碼是案例ch4.5_fileUpload中的代碼,請修改和補(bǔ)充代碼,實現(xiàn)根據(jù)文本框輸入的內(nèi)容,創(chuàng)建文件存放目錄,如uploadFolder\zhangsan。實現(xiàn)上傳文件到該存放目錄,并顯示相關(guān)信息,如圖4-12所示。如果上傳的文件大小超過2MB,則不保存,并顯示提示信息,如圖4-13所示。有興趣的同學(xué)還可考慮實現(xiàn):獲取上傳文件的擴(kuò)展名(index=fileName.lastIndexOf(".");StringnameExt=fileName.substring(index+1).toLowerCase();),如果上傳的是jsp文件,則給出不許上傳的提示;如果上傳的是圖片文件,即擴(kuò)展名在列表jpg,jpeg,png,gif,bmp中(提示,可逐個判斷,也可用查找方法strA.indexOf(strB)),在頁面上顯示該圖片,設(shè)置圖片的樣式,使得圖片的最大寬度和最大高度都為300px,如圖4-14所示。圖4-11選擇文件圖4-12上傳文件成功圖4-13上傳的文件太大圖4-14上傳圖片成功頁面的測試效果如圖4-11至4-14所示:案例練習(xí):
ch4.5ex_uploadLimited(有限制的上傳)JSP開發(fā)案例教程4.6小結(jié)與練習(xí)4.6小結(jié)與練習(xí)本章小結(jié):介紹了JSP中的File對象的創(chuàng)建及其應(yīng)用。File對象創(chuàng)建的方法有3種;File對象常應(yīng)用在文件和文件夾的創(chuàng)建、重命名、列表、復(fù)制、移動和刪除等操作中,也應(yīng)用在文件上傳和下載中。通過File對象無法實現(xiàn)對文件內(nèi)容的讀取或?qū)懭氲炔僮鳎栌玫絀O流中的字符流或字節(jié)流技術(shù)。通過應(yīng)用文件上傳組件CommonsFileUpload,能實現(xiàn)上傳文件到服務(wù)器。通過案例ch4.4_fileManage(文件管理)實現(xiàn)了文件、文件夾的創(chuàng)建、重命名、列表、復(fù)制、移動和刪除等管理操作。通過案例ch4.5_fileUpload(文件上傳)實現(xiàn)了上傳文件到服務(wù)器。填空題:(1)在JSP中,創(chuàng)建File對象的3個方法分別是
、
、
。(2)在File對象file的方法中,獲取對象名的方法是
、獲取大小的方法是
、獲取對象的最后修改時間的方法是
,判斷對象是否存在的方法是
、判斷對象是否為目錄的方法是
、判斷對象是否為文件的方法是
,創(chuàng)建文件的方法是
、創(chuàng)建目錄的方法是
、將文件對象A重命名為B的方法是
、刪除對象的方法是
,列出所有子對象的方法是
。(3)要刪除非空目錄,需調(diào)用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑水電安裝勞務(wù)合同范本
- 2025年度5G通信網(wǎng)絡(luò)建設(shè)合作合同協(xié)議書范本
- 2025年度借款反擔(dān)保擔(dān)保責(zé)任免除合同范本
- 2025年度護(hù)士護(hù)理教育培訓(xùn)機(jī)構(gòu)合作合同范本
- 2025年度基礎(chǔ)設(shè)施建設(shè)貸款合同補(bǔ)充協(xié)議
- 2025年度新材料居間合同傭金支付書
- 2025年度水性工業(yè)漆購銷合同執(zhí)行范本
- 2025年度婚慶婚禮現(xiàn)場布置設(shè)計合同樣本
- 2025年度國際商務(wù)咨詢與策劃服務(wù)合同
- 2025年度借調(diào)合同模板:金融行業(yè)人才借調(diào)管理規(guī)范
- JCT796-2013 回彈儀評定燒結(jié)普通磚強(qiáng)度等級的方法
- 物業(yè)客服培訓(xùn)課件PPT模板
- 火力發(fā)電廠節(jié)能管理制度實施細(xì)則
- 2003年版勞動合同范本
- 全名校北師大版數(shù)學(xué)五年級下冊第三單元達(dá)標(biāo)測試卷(含答案)
- 新員工入職通識考試(中軟國際)
- 四星級酒店工程樣板房裝修施工匯報
- 華為攜手深圳國際會展中心創(chuàng)建世界一流展館
- 2023版思想道德與法治專題2 領(lǐng)悟人生真諦 把握人生方向 第3講 創(chuàng)造有意義的人生
- 全過程工程咨詢服務(wù)技術(shù)方案
- GB/T 41509-2022綠色制造干式切削工藝性能評價規(guī)范
評論
0/150
提交評論