




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,1,第六章,Struts2高級,2,目標(biāo),6.1 異常處理 6.2 文件上傳與下載(單文件與多文件上傳) 6.3 Action與JSON,2,3,異常處理,Struts2提供了一套非常完善的異常處理機(jī)制,action執(zhí)行過程中如果拋出異常,struts框架通過截攔器捕獲,并根據(jù)配置跳轉(zhuǎn)到錯誤顯示頁面通知用戶. Action的方法向上拋出Exception,意味著Action中拋出的所有異常都可以被處理. 不需要在代碼中處理異常,配置即可,3,4,異常處理操作步驟,操作步驟 在Action中拋出異常 在struts.xml文件中配置異常類對應(yīng)的異常顯示頁面 在顯示頁面中顯示異常信息,5,在A
2、ction中拋出異常(模擬),6,配置異常類對應(yīng)的異常顯示頁面,如果Action拋出NullPointerException, UnsupportedOperationException, SQLException異常,則跳轉(zhuǎn)到e1.jsp頁面顯示異常,7,異常配置有兩種類型 局部異常:只對當(dāng)前Action有效,上頁中的就是局部異常 全局異常:對所有Action有效.,8,顯示異常信息,9,文件上傳,struts2并沒有定義自己的文件解析器,而是采用了其他的開源組件 支持三種文件上傳組件 # struts.multipart.parser=cos # struts.multipart.pars
3、er=pell struts.multipart.parser=jakarta 其中jakarta是默認(rèn)支持的方式 如果要使用其他兩種,必須將對應(yīng)的庫文件導(dǎo)入工程,并修改perties文件 不管使用哪一種方式上傳,代碼沒有區(qū)別 通過FileUploadInterceptor截攔器完成,10,文件上傳要點(1),form標(biāo)簽設(shè)置enctype=multipart/form-data“ 文件上傳后的文件以File表示(如File upload) 上傳的文件信息保存方式 文件名:xxxFileName,如:uploadFileName 文件類型:xxxContentType,如u
4、ploadContentType 相關(guān)屬性 struts.multipart.saveDir=g:/ struts.multipart.maxSize=2048,11,文件上傳要點(2),文件不會自動保存到服務(wù)器,必須在Action中通過流操作保存,典型的代碼段如下: FileOutputStream fos = new FileOutputStream(this.savePath + this.file1FileName); FileInputStream fis = new FileInputStream(this.file1); byte bs = new byte1024; int r
5、eal = fis.read(bs); while(real 0) fos.write(bs, 0, real); real = fis.read(bs); fos.close(); fis.close();,12,上傳示例-Action,public class FileuploadAction extends ActionSupport private String desc; private File file1; private String file1FileName; private String savePath = G: + System.getProperty(file.se
6、parator); public String execute()throws Exception FileOutputStream fos = new FileOutputStream(this.savePath + this.file1FileName); FileInputStream fis = new FileInputStream(this.file1); byte bs = new byte1024; int real = fis.read(bs); while(real 0) fos.write(bs, 0, real); real = fis.read(bs); fos.cl
7、ose();fis.close(); return null; ,13,上傳示例jsp頁面, ,14,文件過濾,上傳文件時可能要限制文件擴(kuò)展名或文件大小,這叫文件過濾. 文件過濾通過FileUploadInterceptor截攔器來實現(xiàn). 如果文件過濾失敗,系統(tǒng)自動轉(zhuǎn)入input視圖. 典型配置 /fileupload.jsp 5485760 .exe,.html ,15,注意,文件大小先后經(jīng)過兩重驗證 perties(默認(rèn)2M左右) struts.multipart.maxSize=91344570 5485760,16,文件上傳出錯信息,在classpath下創(chuàng)建tes
8、tmessages_zh_CN.properties文件,輸入下面內(nèi)容 struts.messages.error.file.too.large=u6587u4EF6u592Au5927 struts.messages.error.file.extension.not.allowed=u6587u4EF6u7C7Bu578Bu4E0Du5339u914D,17,多文件上傳,采用數(shù)組即可,18,文件下載,文件下載其實就是將服務(wù)器上的文件以流的形式傳送給客戶端瀏覽器,并通知瀏覽器如何處理文件流. 通過response對象通知瀏覽器的處理方式為下載 response.setHeader(Conten
9、t-disposition, attachment; filename= + utf8File);,19,下載代碼,20,Action與JSON,struts2-json-plugin-.jar插件能讓客戶向Action發(fā)送ajax請求,Action返回json格式的字符,在瀏覽器端再轉(zhuǎn)換成json對象進(jìn)行處理. 注意 1.將struts2-json-plugin-.jar導(dǎo)入工程 2.package的extends的值必須為json-default(可以放在一個單獨(dú)的package中) 3.Action處理請求的方法的返回值必須為” success” 4.返回到客
10、戶端的值由Action的屬性組成,可以包含基本類型,數(shù)組,集合和Map. 5.Action必須配置一個name為json的result,無需指定路徑,如:,21,示例-Action,public class Json2Action private String a; private String b; private String c; public String execute() throws Exception c = a + b + 得到結(jié)果啦,哈哈哈.; return success; ,22,配置, ,23,JSON,JSON(format=yyyy-MM-dd, name=birth) 用在屬性的g
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高效救援演練的應(yīng)急處置與快速響應(yīng)能力提升
- 貴州省六盤水市第二十中學(xué)2024年化學(xué)九年級第一學(xué)期期末監(jiān)測模擬試題含解析
- 2025至2030肝硬化治療行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報告
- 四川省成都市天府第七中學(xué)2024-2025學(xué)年八年級數(shù)學(xué)第一學(xué)期期末調(diào)研試題含解析
- 常州勞動合同試用期管理規(guī)范
- 交通事故理賠催告函模板定制合同
- 網(wǎng)絡(luò)直播產(chǎn)業(yè)發(fā)展計劃及盈利模式探索報告
- 中國汽車拆解行業(yè)自動化改造的市場趨勢預(yù)測報告
- 環(huán)保創(chuàng)意大賽組織流程
- 2025至2030中國自動紙箱封口機(jī)行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 溺水安全知識課件
- 教育政策學(xué)全套課件
- 2025至2030年中國高速公路廣告行業(yè)市場行情監(jiān)測及投資前景展望報告
- 識別心內(nèi)科護(hù)理高風(fēng)險
- 2025年 嘉峪關(guān)市招聘編制外聘用制教師筆試試卷附答案
- 貨代公司風(fēng)險管理制度
- 食品公司衛(wèi)生間管理制度
- 2025年數(shù)據(jù)挖掘和分析考試試卷及答案
- 2025河南省豫地科技集團(tuán)社會招聘169人筆試參考題庫附帶答案詳解析集合
- JG/T 518-2017基樁動測儀
- CJ/T 394-2018電磁式燃?xì)饩o急切斷閥
評論
0/150
提交評論