




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1第8章SpringMVC框架
03文件上傳下載框架程序設(shè)計(jì)(Java)28.3.0學(xué)習(xí)目標(biāo)前臺上傳文件到后臺1文件下載2軟件工程系本科課件框架程序設(shè)計(jì)java38.3.1文件上傳例子1上傳一個文件到工程中的upload目錄,上傳后顯示上傳成功上傳文件abc.txt操作成功提示同時,在服務(wù)器的upload目錄中可以看到該文件已經(jīng)存在軟件工程系本科課件框架程序設(shè)計(jì)java48.3.1文件上傳-環(huán)境配置步驟1:環(huán)境配置(1)引入文件上傳所需的jar包c(diǎn)ommons-fileupload-1.3.3.jar下載地址:/proper/commons-fileupload/download_fileupload.cgicommons-io-2.0.jar下載地址:/proper/commons-io/download_io.cgi軟件工程系本科課件框架程序設(shè)計(jì)java58.3.1文件上傳-環(huán)境配置(2)在springMVC的基本配置文件中配置MultipartResolver來解析文件上傳請求<!--配置MultipartResolver--><beanid="multipartResolver"class="mons.CommonsMultipartResolver"><propertyname="defaultEncoding"value="UTF-8"></property></bean>說明,上述配置僅僅只需要一次軟件工程系本科課件框架程序設(shè)計(jì)java68.3.1文件上傳步驟2:在WebContent/jsp目錄下編寫上傳文件操作頁面upload.jsp<formaction="upload_submit"method="POST"enctype="multipart/form-data">文件:<inputtype="file"name="file"/><inputtype="submit"value="上傳"/></form>說明:表單提交方式一定是post表單要指定enctype屬性為multipart/form-data,在使用包含文件上傳控件的表單時,必須使用該值文件選擇控件<inputtype="file"name="file"/>軟件工程系本科課件框架程序設(shè)計(jì)java78.3.1文件上傳步驟2’:在WebContent/jsp目錄下編寫文件上傳成功頁面download.jsp<h1>文件上傳成功!</h1>軟件工程系本科課件框架程序設(shè)計(jì)java88.3.1文件上傳步驟3:新建上傳控制器類springmvc_demo.controller.UploadController@ControllerpublicclassUploadController{ @RequestMapping("/upload") publicStringupdoad(){ return"upload"; }}軟件工程系本科課件框架程序設(shè)計(jì)java98.3.1文件上傳步驟3’:在控制器中加入處理表單提交請求的action@RequestMapping("/upload_submit") publicModelAndViewfileUpload(@RequestParam("file")MultipartFilefile,HttpServletRequestrequest) throwsIOException{ //獲取文件名 Stringfilename=file.getOriginalFilename(); //獲取文件保存到服務(wù)器上的地址 Stringpath=request.getServletContext().getRealPath("/upload/")+filename; Filef=newFile(path); //判斷upload文件夾是否存在,如果不存在則創(chuàng)建 if(!f.getParentFile().exists()){ f.getParentFile().mkdirs(); } //將上傳的文件傳輸?shù)街付窂? file.transferTo(f); //返回視圖 ModelAndViewmv=newModelAndView("download"); mv.addObject("filename",filename);//將文件名傳遞到下一個頁面 returnmv; }軟件工程系本科課件框架程序設(shè)計(jì)java108.3.1文件上傳步驟4:因?yàn)轭}目要求在download.jsp頁面中顯示文件名,一次download.jsp頁面修改如下:<h1>文件${filename}上傳成功!</h1>軟件工程系本科課件框架程序設(shè)計(jì)java118.3.2文件下載例子2上傳一個文件到工程中upload目錄,上傳后顯示上傳成功上傳文件abc.txt操作成功提示同時,單擊下載超鏈接可以下載文件到本地軟件工程系本科課件框架程序設(shè)計(jì)java128.3.2文件下載步驟1:修改文件上傳成功頁面download.jsp<h1>文件${filename}上傳成功!</h1>需要時可以<ahref="">下載</a>該文件。軟件工程系本科課件框架程序設(shè)計(jì)java138.3.2文件下載步驟2:修改UploadController@RequestMapping("/upload_submit") publicModelAndViewfileUpload(@RequestParam("file")MultipartFilefile,HttpServletRequestrequest) throwsIOException{ //獲取文件名 Stringfilename=file.getOriginalFilename(); //獲取上傳文件路徑 Stringpath=request.getServletContext().getRealPath("/upload/")+filename; Filef=newFile(path); //判斷upload文件夾是否存在,如果不存在則創(chuàng)建 if(!f.getParentFile().exists()){ f.getParentFile().mkdirs(); } //將上傳的文件傳輸?shù)街付窂? file.transferTo(f); //返回視圖 ModelAndViewmv=newModelAndView("download"); mv.addObject("filename",filename);
//將下載該文件的url傳遞到前臺 Stringuripath="/springmvc_demo/upload/"+filename; mv.addObject("uripath",uripath); //獲取服務(wù)器上 returnmv; }軟件工程系本科課件框架程序設(shè)計(jì)java148.3.2文件下載步驟3:修改文件上傳成功頁面download.jsp<h1>文件${requestScope.filename}上傳成功!</h1>需要時可以<ahref="${uripath}">下載</a>該文件。軟件工程系本科課件框架程序設(shè)計(jì)java158.3.2文件下載單擊下載發(fā)現(xiàn):頁面報404(找不到文件)的錯誤原因何在?軟件工程系本科課件框架程序設(shè)計(jì)java168.3.2文件下載分析404原因:web.xml文件中配置的DispatcherServlet的映射地址<servlet-mapping>的<url-pattern>/</url-pattern>把所有的請求都交給springMVC去處理了,導(dǎo)致對js/css/jpg/gif等靜態(tài)資源的訪問就會得不到如何解決項(xiàng)目中靜態(tài)資源訪問不到的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位用工合同范本6
- 《說“屏”》教案四篇
- 勞務(wù)分包終止合同范本
- 人工晶體采購合同范本
- 買賣合同變更補(bǔ)充合同范本
- 門面出售同城合同范本
- 廁所水槽安裝合同范本
- 保潔承包合同范例
- 臨時供貨大米合同范本
- 賣方賣房合同范本
- 個人車輛出租合同范本
- 重慶市渝北區(qū)大灣鎮(zhèn)招錄村綜合服務(wù)專干(全考點(diǎn))模擬卷
- PhotoShop機(jī)試試題(帶素材)
- 教務(wù)處教學(xué)教案作業(yè)檢查記錄表
- 美甲基礎(chǔ)理論精品專業(yè)課件
- 監(jiān)護(hù)人考試試題含答案
- 冀教版四年級下冊英語全冊教學(xué)設(shè)計(jì)(經(jīng)典,可直接打印使用)
- 新編地圖學(xué)教程(第三版)毛贊猷_期末復(fù)習(xí)知識點(diǎn)總結(jié)
- 經(jīng)銷商授權(quán)協(xié)議合同書(中英文對照)
- 初三化學(xué)公式大全
- 安裝超載限制器方案
評論
0/150
提交評論