電商Web平臺開發(fā) 課件 2任務4 認知攔截器_第1頁
電商Web平臺開發(fā) 課件 2任務4 認知攔截器_第2頁
電商Web平臺開發(fā) 課件 2任務4 認知攔截器_第3頁
電商Web平臺開發(fā) 課件 2任務4 認知攔截器_第4頁
電商Web平臺開發(fā) 課件 2任務4 認知攔截器_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

模塊一基礎(chǔ)技能訓練模塊《電商web云平臺開發(fā)》思維導圖目錄CONTENTS搭建電商平臺Spring業(yè)務層搭建電商平臺的Web項目SpringMVC展示層搭建電商平臺數(shù)據(jù)處理MyBatis項目123電商平臺SSM三層框架整合4項目二搭建電商平臺的Web項目SpringMVC展示層項目背景

SpringMVC是在Spring核心框架上實現(xiàn)了一個以中央控制器為核心的MVC框架,能夠與Spring核心容器無縫整合。

SpringMVC框架是以DispatcherServlet為基礎(chǔ)進行設(shè)計的。在實際運行中,其工作內(nèi)容主要有四點,分別是接收到用戶發(fā)出的請求、指定應用程序?qū)崿F(xiàn)請求的功能、將應用程序處理的結(jié)果數(shù)據(jù)封裝成要求的視圖、響應用戶請求。視圖解析區(qū)域設(shè)置主題解析文件上傳映射關(guān)系本章節(jié)主要介紹SpringMVC框架的相關(guān)知識,讓同學們了解SpringMVC框架的搭建,以及在開發(fā)項目中的應用,故本章節(jié)主要研究以下內(nèi)容:研究內(nèi)容認知SpringMVC的概念掌握SpringMVC的請求方式掌握SpringMVC的響應方式了解SpringMVC的攔截器掌握SpringMVC的實用技術(shù)學習目標1.了解SpringMVC框架的基礎(chǔ)知識;2.認識SpringMVC的注解開發(fā)內(nèi)容;3.理解SpringMVC的請求和響應方式;4.熟知SpringMVC的攔截器。知識目標技能目標1.培養(yǎng)學生較強的英語閱讀和寫作能力;2.鍛煉學生良好的編碼能力。素養(yǎng)目標1.能夠獨立完成SpringMVC框架的搭建;2.能熟練使用SpringMVC的注解進行電商項目的開發(fā)工作;3.能夠掌握SpringMVC的請求和響應開發(fā);4.能夠熟練開發(fā)SpringMVC的請求轉(zhuǎn)發(fā)和重定向;5.能夠熟練使用SpringMVC的攔截器完成權(quán)限登錄、日志打印等功能;6.能獨立開發(fā)SpringMVC的異常處理;7.能獨立開發(fā)SpringMVC的上傳文件操作。任務四認知攔截器預備知識SpringMVC定義了請求處理攔截的接口HandlerInterceptor此接口沒有繼承aopalliance的Interceptor,所以MVC的映射器并非采用AOP方式通過DispatcherServlet來調(diào)用處理器執(zhí)行鏈的,以此實現(xiàn)對請求調(diào)用的攔截SpringMVC映射器攔截器一、MVC攔截器介紹預備知識一、MVC攔截器介紹SpringMVC中Interceptor攔截器的主要作用攔截指定的用戶請求進行相應的預處理與后處理攔截的時間點在處理器適配器(HandlerAdapter)執(zhí)行處理器之前實施準備如何對請求進行單個或多個攔截?攔截器實現(xiàn)的原理是怎樣的?在企業(yè)實際開發(fā)中攔截器的重要作用是什么,又應該如何使用?本任務開始之前,思考以上問題,并打開MyEclipse開發(fā)工具,搭建好SpringMVC的開發(fā)環(huán)境,為攔截器的學習做準備。任務實施與分析1.1自定義一個攔截器1.2

攔截器的注冊1.3

修改index頁面1.4修改處理器1.5修改show頁面1.6控制臺輸出結(jié)果步驟1:執(zhí)行一個攔截器任務實施與分析preHandle(request,response,

Objecthandler)postHandle(request,response,

Objecthandler,

modelAndView)afterCompletion(request,response,Objecthandler,Exceptionex)實現(xiàn)自定義攔截器的HandlerInterceptor接口的三種方法1.1自定義一個攔截器創(chuàng)建MyInterceptor類實現(xiàn)并HandlerInterceptor接口任務實施與分析1.3修改index頁面在spring-MVC.xml配置文件中進行攔截器的注冊<MVC:interceptors> <MVC:interceptor> <MVC:mappingpath="/**"/> <beanclass="com.framework.controller.MyInterceptor1"/> </MVC:interceptor></MVC:interceptors>在index.jsp頁面的body中輸入“indexpage<br>”1.2攔截器的注冊<body>indexpage<br></body>任務實施與分析1.4修改處理器1.5修改show頁面1.6

控制臺輸出結(jié)果在show.jsp頁面輸入“showpage”<body> showpage</body>創(chuàng)建MyController處理器,輸出執(zhí)行信息@Controller@RequestMapping("/test")publicclassMyController{@RequestMapping("/show.htm")publicModelAndViewshow(){System.out.println("執(zhí)行處理器方法...");ModelAndViewmv=newModelAndView();mv.setViewName("show");returnmv;}}任務實施與分析步驟52.3查看輸出結(jié)果2.4攔截器的執(zhí)行2.1定義攔截器2.2注冊攔截器步驟2:執(zhí)行多個攔截器任務實施與分析2.1定義攔截器publicclassMyInterceptor2implementsHandlerInterceptor{ @Override publicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{

System.out.println("執(zhí)行MyInterceptor2preHandle()方法");

returntrue; } @Override publicvoidpostHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,ModelAndViewmodelAndview)throwsException{

System.out.println("執(zhí)行MyInterceptor2postHandle()方法"); } @Override publicvoidafterCompletion(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,Exceptionex)throwsException{

System.out.println("執(zhí)行MyInterceptor2afterCompletion()方法"); }}在MyInterceptor2中定義一個新的攔截器任務實施與分析2.2注冊攔截器2.3查看輸出結(jié)果AB<MVC:interceptors> <MVC:interceptor> <MVC:mappingpath="/**"/> <beanclass="com.framework.controller.MyInterceptor1"/> </MVC:interceptor> <MVC:interceptor> <MVC:mappingpath="/**"/> <beanclass="com.framework.controller.MyInterceptor2"/> </MVC:interceptor></MVC:interceptors>在spring-MVC.xml中

注冊多個攔截器當一個項目中有多個攔截器時,叫做攔截器鏈。攔截器鏈的執(zhí)行順序與其注冊的順序有關(guān)。2.4攔截器的執(zhí)行任務實施與分析多個攔截器執(zhí)行順序2.4攔截器的執(zhí)行任務實施與分析

010203執(zhí)行處理器執(zhí)行鏈對象mappedHandler的applyPreHandle()方法執(zhí)行Handler執(zhí)行處理器執(zhí)行鏈對象的applyPostHandle()方法查看中央調(diào)度器DispatcherServlet的doDispatch()方法源碼拓展知識一、攔截器概念及執(zhí)行流程“”

攔截是AOP的一種實現(xiàn)策略,攔截器是動態(tài)攔截Action調(diào)用的對象,在AOP中用于在某個方法或字段被訪問之前進行攔截,然后在之前或之后加入某些操作。拓展知識二、異常處理機制預期異常通過捕獲異常從而獲取異常信息預期異常系統(tǒng)中異常主要通過規(guī)范代碼開發(fā)、測試等手段減少運行時異常的發(fā)生運行時異常1987年9月20日,中國科學家錢天白向德國卡爾斯魯厄大學(KarlsruheUniversity)發(fā)出了一封內(nèi)容為“穿越長城,走向世界”的電子郵件,這是中國人發(fā)出的第一封E-mail,被認為是中國互聯(lián)網(wǎng)發(fā)展的開端。30年后的我們很難想象,中國的第一封電子郵件,用了將近一周的時間,才于北京時間1987年9月20日20時55分送達地球另一邊的德國卡爾斯魯厄大學。其實早在一周前的9月14日,在德國卡爾斯魯厄大學維納·措恩(WernerZorn)教授的幫助下,王運豐教授和李澄炯博士等中國科學家已經(jīng)在北京計算機應用技術(shù)研究所(ICA)建成一個電子郵件節(jié)點,用英文和德文向德國發(fā)出了中國第一封電子郵件。思政小課堂思考與總結(jié)如何實現(xiàn)一個或多個攔截器?能力提升通過上一節(jié)的任務,我們完成了電商網(wǎng)站項目基于Spring框架的響應方式實現(xiàn),本節(jié)將實現(xiàn)基于SpringMVC框架的攔截器,請同學們結(jié)合本節(jié)所學內(nèi)容,繼續(xù)完成電商網(wǎng)站項目的以下任務。

1.自定義一個攔截器,注意要實現(xiàn)HandlerInterceptor接口,并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論