電商Web平臺開發(fā) 課件 2任務(wù)3 掌握SpringMVC響應(yīng)方式_第1頁
電商Web平臺開發(fā) 課件 2任務(wù)3 掌握SpringMVC響應(yīng)方式_第2頁
電商Web平臺開發(fā) 課件 2任務(wù)3 掌握SpringMVC響應(yīng)方式_第3頁
電商Web平臺開發(fā) 課件 2任務(wù)3 掌握SpringMVC響應(yīng)方式_第4頁
電商Web平臺開發(fā) 課件 2任務(wù)3 掌握SpringMVC響應(yīng)方式_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

SpringMVC框架是以DispatcherServlet為基礎(chǔ)進行設(shè)計的。在實際運行中,其工作內(nèi)容主要有四點,分別是接收到用戶發(fā)出的請求、指定應(yīng)用程序?qū)崿F(xiàn)請求的功能、將應(yīng)用程序處理的結(jié)果數(shù)據(jù)封裝成要求的視圖、響應(yīng)用戶請求。視圖解析區(qū)域設(shè)置主題解析文件上傳映射關(guān)系本章節(jié)主要介紹SpringMVC框架的相關(guān)知識,讓同學(xué)們了解SpringMVC框架的搭建,以及在開發(fā)項目中的應(yīng)用,故本章節(jié)主要研究以下內(nèi)容:研究內(nèi)容認知SpringMVC的概念掌握SpringMVC的請求方式掌握SpringMVC的響應(yīng)方式了解SpringMVC的攔截器掌握SpringMVC的實用技術(shù)學(xué)習(xí)目標(biāo)1.了解SpringMVC框架的基礎(chǔ)知識;2.認識SpringMVC的注解開發(fā)內(nèi)容;3.理解SpringMVC的請求和響應(yīng)方式;4.熟知SpringMVC的攔截器。知識目標(biāo)技能目標(biāo)1.培養(yǎng)學(xué)生較強的英語閱讀和寫作能力;2.鍛煉學(xué)生良好的編碼能力。素養(yǎng)目標(biāo)1.能夠獨立完成SpringMVC框架的搭建;2.能熟練使用SpringMVC的注解進行電商項目的開發(fā)工作;3.能夠掌握SpringMVC的請求和響應(yīng)開發(fā);4.能夠熟練開發(fā)SpringMVC的請求轉(zhuǎn)發(fā)和重定向;5.能夠熟練使用SpringMVC的攔截器完成權(quán)限登錄、日志打印等功能;6.能獨立開發(fā)SpringMVC的異常處理;7.能獨立開發(fā)SpringMVC的上傳文件操作。任務(wù)三掌握SpringMVC響應(yīng)方式預(yù)備知識

RequestDispatcher.forward方法在服務(wù)器端內(nèi)部將請求轉(zhuǎn)發(fā)給另外一個資源,瀏覽器只能判別出發(fā)出了請求并得到了響應(yīng)結(jié)果,無法判斷出在服務(wù)器程序內(nèi)部發(fā)生了轉(zhuǎn)發(fā)行為,請求轉(zhuǎn)發(fā)原理如圖。一、請求轉(zhuǎn)發(fā)與重定向概念(一)請求轉(zhuǎn)發(fā)預(yù)備知識一、請求轉(zhuǎn)發(fā)與重定向概念

httpServletResponse.send

Redirect方法對瀏覽器的請求直接作出響應(yīng),響應(yīng)結(jié)果就是告訴瀏覽器去重新發(fā)出對另外一個URL的訪問請求,重定向原理如圖。(二)重定向?qū)嵤?zhǔn)備服務(wù)器接收到請求并得到參數(shù),進行后端處理后,如何將數(shù)據(jù)響應(yīng)給瀏覽器顯示?如何將數(shù)據(jù)和頁面返回給瀏覽器?具體實現(xiàn)流程是怎樣?請同學(xué)們打開在上一節(jié)中創(chuàng)建的項目,本任務(wù)章節(jié)內(nèi)容在此基礎(chǔ)上進行修改即可。任務(wù)實施與分析1.1掌握

ModelAndView返回值1.2掌握String返回值1.3掌握

void返回值1.4掌握

AJAX返回值1.5掌握

Object返回值步驟1:掌握Controller類方法的返回值

使用@Controller注解的處理器的處理器方法,其返回值常用的有ModelAndView、String、無返回值void及返回自定義類型對象四種類型,在開發(fā)中常常需要根據(jù)不同的情況,使用不同的返回值。任務(wù)實施與分析1.1掌握ModelAndView返回值1.2掌握String返回值如果處理器方法處理完后,需要跳轉(zhuǎn)到其它資源,且又要在跳轉(zhuǎn)的資源間傳遞數(shù)據(jù),此時處理器方法返回ModelAndView比較好內(nèi)部資源外部資源跳轉(zhuǎn)的資源InternalResourceViewResolver視圖解析器BeanNameViewResolver視圖解析器任務(wù)實施與分析1.3掌握void返回值通過ServletAPI傳遞數(shù)據(jù)并完成跳轉(zhuǎn)返回void,其應(yīng)用場景通過在處理器方法的參數(shù)中放入的ServletAPI參數(shù)來完成資源跳轉(zhuǎn)時所要傳遞的數(shù)據(jù)及跳轉(zhuǎn)0102瀏覽器運行結(jié)果重定向運行結(jié)果任務(wù)實施與分析1.4掌握AJAX返回值如果處理器對請求處理后無須跳轉(zhuǎn)到其它任何資源,此時可以讓處理器方法返回void,例如,對于AJAX的異步請求的響應(yīng)。以單個參數(shù)接收AJAX請求參數(shù)以對象方式整體接收BA//ajax請求

@RequestMapping("/ajax.htm")

publicvoidajax(HttpServletRequestrequest,HttpServletResponse

response,Useruser)throwsException//ajax請求

@RequestMapping("/ajax1.htm")

publicvoidajax1(HttpServletRequest

request,HttpServletResponseresponse,Stringname,Integerage)throwsException任務(wù)實施與分析1.5掌握Object返回值處理器方法也可以返回Object對象,但返回Object對象不是作為邏輯視圖出現(xiàn)的,而是作為直接在頁面顯示的數(shù)據(jù)出現(xiàn)的。借助Jackson工具,由Object將數(shù)據(jù)轉(zhuǎn)化為JSON對象后并傳遞給瀏覽器頁面任務(wù)實施與分析1.5掌握Object返回值01修改處理器MyController4,添加注解@ResponseBody02修改index頁面,修改AJAX提交方法03修改處理器MyController4,添加produces屬性05修改index頁面的AJAX提交方法06修改MyController4,修改返回值為Map對象07修改myController4,修改返回值為List對象04修改MyController4,修改返回值User對象任務(wù)實施與分析步驟6請求轉(zhuǎn)發(fā)到頁面重定向到頁面2.22.12.3請求轉(zhuǎn)發(fā)到其它Controller2.4重定向到Controller步驟2:請求轉(zhuǎn)發(fā)與重定向任務(wù)實施與分析2.1請求轉(zhuǎn)發(fā)到頁面創(chuàng)建index頁面使其跳轉(zhuǎn)到到請求轉(zhuǎn)發(fā)頁面創(chuàng)建forwardView()方法,使其轉(zhuǎn)發(fā)到forwardView.jsp頁面請求轉(zhuǎn)發(fā)的目標(biāo)頁面代碼實現(xiàn)<formaction="test/forwardView.htm"method="POST">

姓名:<inputtype="text"name="name">

年齡:<inputtype="text"name="age">

<inputtype="submit"value="請求轉(zhuǎn)發(fā)頁面"></form>//請求轉(zhuǎn)發(fā)轉(zhuǎn)發(fā)到頁面

@RequestMapping("/forwardView.htm")

publicModelAndViewforwardView(HttpServletRequestrequest,HttpServletResponseresponse,Useruser)throwsException{

ModelAndViewmv=newModelAndView();

mv.addObject("myUser",user);

mv.setViewName("forward:/WEB-INF/jsp/forwardView.jsp");

returnmv;

}任務(wù)實施與分析2.2請求轉(zhuǎn)發(fā)到其它Controller修改index頁面使其跳轉(zhuǎn)到請求轉(zhuǎn)發(fā)頁面創(chuàng)建forwardController()方法,使其轉(zhuǎn)發(fā)到show.htm頁面請求轉(zhuǎn)發(fā)的目標(biāo)頁面代碼實現(xiàn)<formaction="test/forwardController.htm"method="POST">

姓名:<inputtype="text"name="name">

年齡:<inputtype="text"name="age">

<inputtype="submit"value="請求轉(zhuǎn)發(fā)Controller">

</form>//請求轉(zhuǎn)發(fā)轉(zhuǎn)發(fā)到Controller

@RequestMapping("/forwardController.htm")

publicModelAndViewforwardController(HttpServletRequestrequest,HttpServletResponseresponse,Useruser)throwsException{

ModelAndViewmv=newModelAndView();

mv.addObject("myUser",user);

mv.setViewName("forward:show.htm");

returnmv; }@RequestMapping("/show.htm")

publicModelAndViewshow(HttpServletRequestrequest,HttpServletResponseresponse,Useruser)throwsException{

ModelAndViewmv=newModelAndView();

mv.addObject("myUser",user);

mv.setViewName("forward:/Web-INF/jsp/forwardController.jsp");

returnmv;}任務(wù)實施與分析2.3重定向到頁面ModelAndView的Model存入數(shù)據(jù)后的注意事項創(chuàng)建redirectView()方法,使其重定向到redirectView.jsp頁面重定向到頁面的目標(biāo)頁面代碼實現(xiàn)//重定向到頁面

@RequestMapping("/redirectView.htm")

publicModelAndViewredirectView(HttpServletRequestrequest,HttpServletResponseresponse,Useruser)throwsException{

ModelAndViewmv=newModelAndView();

mv.addObject("name",user.getName());

mv.addObject("age",user.getAge());

mv.setViewName("redirect:/redirectView.jsp");

returnmv;}(3)重定向的頁面不能是/WEB-INF中的頁面(2)重定向的頁面可以通過EL表達式中的請求參數(shù)param讀取(1)放入到Model中的value,只能是基本數(shù)據(jù)類型與String任務(wù)實施與分析2.4重定向到Controller修改index頁面使其跳轉(zhuǎn)到重定向Controller修改

MyController1目標(biāo)重定向到Controller的目標(biāo)頁面代碼實現(xiàn)@RequestMapping("/show1.htm")

publicModelAndViewshow1(HttpServletRequestrequest,HttpServletResponseresponse,Useruser)throwsException{

ModelAndViewmv=newModelAndView();

mv.addObject("myUser",user);

mv.setViewName("forward:/Web-INF/jsp/redirectController.jsp");

returnmv;

}//重定向到Controller

@RequestMapping("/redirectController.htm")

publicModelAndViewredirectController(HttpServletRequestrequest,HttpServletResponseresponse,Useruser)throwsException{

ModelAndViewmv=newModelAndView();

mv.addObject("name",user.getName());

mv.addObject("age",user.getAge());

mv.setViewName("redirect:show1.h

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論