![Java EE企業(yè)級框架技術及案例實戰(zhàn)-Spring+Spring MVC+MyBatis(微課版) 課件 第十二章 深入使用SpringMVC_第1頁](http://file4.renrendoc.com/view9/M00/0A/2D/wKhkGWdRf6SAcX48AAFSNgE4IMM293.jpg)
![Java EE企業(yè)級框架技術及案例實戰(zhàn)-Spring+Spring MVC+MyBatis(微課版) 課件 第十二章 深入使用SpringMVC_第2頁](http://file4.renrendoc.com/view9/M00/0A/2D/wKhkGWdRf6SAcX48AAFSNgE4IMM2932.jpg)
![Java EE企業(yè)級框架技術及案例實戰(zhàn)-Spring+Spring MVC+MyBatis(微課版) 課件 第十二章 深入使用SpringMVC_第3頁](http://file4.renrendoc.com/view9/M00/0A/2D/wKhkGWdRf6SAcX48AAFSNgE4IMM2933.jpg)
![Java EE企業(yè)級框架技術及案例實戰(zhàn)-Spring+Spring MVC+MyBatis(微課版) 課件 第十二章 深入使用SpringMVC_第4頁](http://file4.renrendoc.com/view9/M00/0A/2D/wKhkGWdRf6SAcX48AAFSNgE4IMM2934.jpg)
![Java EE企業(yè)級框架技術及案例實戰(zhàn)-Spring+Spring MVC+MyBatis(微課版) 課件 第十二章 深入使用SpringMVC_第5頁](http://file4.renrendoc.com/view9/M00/0A/2D/wKhkGWdRf6SAcX48AAFSNgE4IMM2935.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3第十二章深入使用SpringMVC-掌握SpringMVC實現(xiàn)文件上傳與下載的方法-掌握SpringMVC進行異常處理的方法-掌握SpringMVC攔截器的使用方法-了解SpringMVC中責任鏈模式的應用01020304項目需求背景知識項目實現(xiàn)經(jīng)典問題強化本章小結0102030405E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3項目需求01項目需求01項目經(jīng)理老王:小王,你已經(jīng)對SpringMVC框架有了基本認識。但是對于框架的某些高級特性,如文件上傳下載、異常處理、攔截器等功能,你是否也有所了解?程序員小王:這些高級特性我還不太了解,看來我還需要繼續(xù)深入學習。項目經(jīng)理老王:是的,這些功能是非常重要的。例如,異常處理機制可以在不影響用戶體驗的情況下,優(yōu)雅地處理程序運行時的意外情況。攔截器可以在處理復雜的業(yè)務邏輯時用于請求的預處理和后處理。程序員小王:這些功能聽起來非常強大,我希望能夠盡快掌握它們。此外,我還想了解更多關于設計模式在SpringMVC框架中的應用,例如責任鏈模式,以及如何將SSM這三個框架整合起來一起協(xié)同工作。項目經(jīng)理老王:是的,責任鏈模式在SpringMVC的設計中確實扮演了重要角色,它允許多個對象處理同一個請求,從而實現(xiàn)請求的發(fā)送者與接收者的解耦。關于SSM框架整合,我建議你通過實際操作來學習,例如可以完成項目中的產(chǎn)品管理和訂單管理這兩個模塊。程序員小王:明白了,我立即開始行動。功能描述01產(chǎn)品管理模塊產(chǎn)品列表:可以以列表形式顯示所有產(chǎn)品信息,包括產(chǎn)品的編號、產(chǎn)品名稱、生產(chǎn)城市、生產(chǎn)時間、產(chǎn)品價格、產(chǎn)品圖片等。新增產(chǎn)品:向用戶提供新增產(chǎn)品信息的表單,用戶可以輸入產(chǎn)品相關信息。編輯產(chǎn)品:用戶可以選中某一件產(chǎn)品,然后通過編輯產(chǎn)品修改其信息。功能描述01訂單管理模塊訂單列表:以列表形式展示所有訂單信息,包括訂單編號、產(chǎn)品名稱、金額、下單時間、訂單狀態(tài)等信息。訂單詳情:用戶可以在訂單列表頁中選中一個訂單,然后查詢這個訂單的詳細信息。E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3背景知識02知識導圖02SpringMVC實現(xiàn)文件上傳與下載021.SpringMVC實現(xiàn)文件上傳
SpringMVC實現(xiàn)文件上傳功能的具體流程。(1)頁面向服務器發(fā)出包含文件內(nèi)容的請求,此請求會先被前端控制器攔截。(2)前端控制器將請求轉發(fā)給文件解析器(文件解析器需要在SpringMVC的配置文件中進行配置)。(3)文件解析器解析完請求內(nèi)容后,會將處理結果返回給前端控制器。(4)前端控制器最后將這個解析后的請求傳遞給控制器層的對應方法(該方法必須包含一個MultipartFile類型的參數(shù),用于接收文件內(nèi)容)SpringMVC實現(xiàn)文件上傳與下載022.Springmvc實現(xiàn)文件下載文件下載的具體實現(xiàn)過程如下:(1)使用HttpServletRequest對象獲取應用程序上下文中“/uploads”目錄的絕對路徑,該路徑用于確定待下載文件的位置。(2)利用FileInputStream讀取目標下載文件。(3)設置響應頭的ContentType為"application/x-msdownload;charset=UTF-8",通知瀏覽器將下載的內(nèi)容轉換為二進制數(shù)據(jù)。(4)設置響應頭的Content-Disposition為"attachment;filename=xxx",指示瀏覽器以附件的形式下載文件,并提供文件名。(5)通過輸入輸出流的復制操作,將文件內(nèi)容寫入至響應輸出流中。(6)關閉輸入輸出流以釋放系統(tǒng)資源。(7)跳轉到success.jsp頁面,提示用戶下載過程已完成。SpringMVC的異常處理02在Web項目運行時,有時由于各種情況可能會出現(xiàn)異常錯誤。為了不讓用戶直接看到錯誤代碼,提高用戶體驗,SpringMVC提供了異常處理機制,允許系統(tǒng)在出現(xiàn)異常時向用戶展示一個友好的錯誤頁面,如圖所示。開發(fā)人員可以使用SpringMVC框架提供的異常處理器或自定義處理器來處理異常,以確保錯誤信息頁面與業(yè)務需求相符。SpringMVC的攔截器02SpringMVC的攔截器用于在控制器處理請求之前和之后執(zhí)行自定義的業(yè)務邏輯,它們與Servlet中的過濾器類似,但只針對控制器的方法生效。攔截器是AOP的一種實現(xiàn),它可以將自定義的多種攔截方法連接成一條鏈。責任鏈模式02責任鏈模式(ChainofResponsibilityPattern)是一種行為設計模式,它以構建對象鏈的形式來處理請求。在這個模式中,每個對象都包含對下一個處理器的引用,當一個請求從鏈的一端發(fā)起時,它會沿著鏈進行傳遞,直到找到適合處理該請求的對象。責任鏈模式的主要作用是:降低請求發(fā)送者和接收者之間的耦合度:請求發(fā)送者只需要知道請求鏈存在,不必關心請求鏈的具體結構或處理細節(jié)。方便增加新的處理方法:可以隨時增加或修改處理邏輯,只需修改請求鏈的構成即可。分散請求處理:每個處理器處理它所負責的部分,這樣可以把復雜的邏輯分解成簡單的個體,以便于管理和維護。Springmvc中責任鏈模式的應用02在SpringMVC中,責任鏈模式的應用主要體現(xiàn)在請求處理流程中,尤其是在處理HTTP請求的多個階段上。責任鏈模式允許將多個處理對象連接成一條鏈,每個對象處理請求的一部分,然后將請求傳遞給鏈中的下一個對象。具體來看,SpringMVC中的DispatcherServlet是一個關鍵組件,它負責將接收到的HTTP請求分發(fā)給相應的處理器(Controller)。在這個過程中,DispatcherServlet使用責任鏈模式處理一系列的攔截器(Interceptor)和處理器適配器(HandlerAdapter)。相應的概念如下:1. 攔截器鏈每個攔截器可以決定是否將請求傳遞給鏈中的下一個攔截器,或是直接結束請求處理。例如,一個身份驗證攔截器可以檢查用戶是否登錄,如果未登錄,則不再繼續(xù)調(diào)用后續(xù)的攔截器或控制器。2. 處理器適配器鏈DispatcherServlet配置有多個HandlerAdapter,每個適配器負責調(diào)用特定類型的處理器。在SpringMVC的源代碼中,DispatcherServlet的doDispatch方法展示了責任鏈模式的應用。該方法首先通過攔截器鏈對請求進行預處理,然后找到合適的處理器(Controller)來處理請求,并在處理完成后再次通過攔截器鏈進行后處理。SSM框架整合02SSM框架整合流程如下:數(shù)據(jù)準備,創(chuàng)建ssm數(shù)據(jù)庫,并建立account表。創(chuàng)建項目并導入依賴創(chuàng)建Account實體類創(chuàng)建AccountDao接口創(chuàng)建AccountService接口及其實現(xiàn)類AccountServiceImpl。創(chuàng)建AccountController類配置連接數(shù)據(jù)庫的相關信息添加spring的核心配置文件applicationContext.xml測試spring整合整合springMVC,配置web.xml文件,加入springmvc的前端控制器和編碼過濾器。創(chuàng)建index.jsp,添加訪問AccountController類中findAll方法的超鏈接。E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3項目實現(xiàn)03業(yè)務場景03業(yè)務場景描述:項目經(jīng)理老王:小王,現(xiàn)在你已經(jīng)掌握了SSM框架的使用及整合,產(chǎn)品管理模塊交給你來實現(xiàn),沒有問題吧?程序員小王:是的,通過之前的努力學習和不斷的項目實踐,我已經(jīng)有信心完成這個任務了。SSM框架的各個方面我都相當熟悉,無論是Spring的依賴注入、SpringMVC的工作原理,還是MyBatis與數(shù)據(jù)庫的交互,我都能夠熟練應用。項目經(jīng)理老王:那太好了!看到你從一個初學者成長為現(xiàn)在可以熟練運用SSM框架的程序員,我感到非常欣慰。程序員小王:感謝您的鼓勵和支持,我會盡快開始工作,以確保產(chǎn)品管理模塊在開發(fā)周期內(nèi)高質(zhì)量實現(xiàn)。實現(xiàn)產(chǎn)品管理031、首先需要創(chuàng)建描述產(chǎn)品的實體類Product實現(xiàn)產(chǎn)品管理03產(chǎn)品管理數(shù)據(jù)訪問層創(chuàng)建產(chǎn)品管理的數(shù)據(jù)訪問接口IProductDao,其包含對產(chǎn)品的增加、刪除、修改、查詢操作。為了便于開發(fā),這里通過注解的方式來進行MyBatis的操作。實現(xiàn)產(chǎn)品管理03產(chǎn)品管理業(yè)務邏輯層創(chuàng)建產(chǎn)品管理的業(yè)務接口(IProductService.java)及其實現(xiàn)類(ProductServiceImpl.java),里面包含了對數(shù)據(jù)訪問接口的調(diào)用方法。實現(xiàn)產(chǎn)品管理03產(chǎn)品管理控制層創(chuàng)建產(chǎn)品管理的控制器ProductController,用于接收前端請求。實現(xiàn)產(chǎn)品管理03產(chǎn)品管理列表頁面在產(chǎn)品管理模塊后端代碼完成后,就可以進行前端功能的開發(fā),由于篇幅所限,這里僅列出產(chǎn)品管理列表頁面部分核心代碼。E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3經(jīng)典問題強化04經(jīng)典問題強化04攔截器與過濾器的區(qū)別Springmvc攔截器在權限校驗的作用?SpringMVC如何進行異常處理?E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3本章小結05
本章小結05本章深入講解了SpringMVC框架的高級特性,包括文件的上傳下載、攔截器的使用、異常處理機制,以及SSM框架整合等內(nèi)容。此外,還介紹了責任鏈模式在SpringMVC框架中的應
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人信用貸款第三方擔保合同樣本
- 云存儲硬盤空間租用合同協(xié)議
- 上市公司技術合作合同模板
- 個人房屋抵押貸款合同范本
- 臨時用工安全免責合同協(xié)議
- 個人理財規(guī)劃合同書
- 專業(yè)版辦公室裝修合同模板
- 二手汽車購銷合同范本
- 云計算資源租賃與服務外包合同
- 個人住房貸款擔保合同樣本
- 中考記敘文閱讀
- 《計算機應用基礎》-Excel-考試復習題庫(含答案)
- 產(chǎn)科溝通模板
- 2023-2024學年四川省成都市小學數(shù)學一年級下冊期末提升試題
- GB/T 7462-1994表面活性劑發(fā)泡力的測定改進Ross-Miles法
- GB/T 2934-2007聯(lián)運通用平托盤主要尺寸及公差
- GB/T 21709.13-2013針灸技術操作規(guī)范第13部分:芒針
- 2022年青島職業(yè)技術學院單招語文考試試題及答案解析
- 急診科進修匯報課件
- 一年級家訪記錄表(常用)
- 信息技術基礎ppt課件(完整版)
評論
0/150
提交評論