免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Spring 3.x MVC 入門1 -- 圖解MVC整體流程

Spring mvc的生命周期

開始使用 spring mvc之前,我們必須需要了解下SPRING MVC的流程,如下圖:

 

在看下圖之前的一些說明: (下面介紹的HandlerMapping,HandlerAdapter,HandlerExceptionResovler,ViewResolver都有個order屬性,因?yàn)檫@些接口每一個都可以注冊多個實(shí)現(xiàn),order代表他們的執(zhí)行順序,order越小的越先執(zhí)行,一般先執(zhí)行的匹配到了后面的就不會執(zhí)行了)

DispatcherServlet:         整個Spring MVC的前端控制器,由它來接管來自客戶端的請求

HandlerMapping:           DispatcherServlet會通過它來處理客戶端請求到各個(Controller)處理器的映射

HandlerAdapter:            HandlerMapping會根據(jù)它來調(diào)用Controller里需要被執(zhí)行的方法

HandlerExceptionResolver:    spring mvc處理流程中,如果有異常拋出,會交給它來進(jìn)行異常處理

ViewResolver:              HandlerAdapter會把Controller中調(diào)用返回值最終包裝成ModelAndView,ViewResolver會檢查其中的view,如果view是一個字符串,它就負(fù)責(zé)處理這個字符串并返回一個真正的View,如果view是一個真正的View則不會交給它處理,為什么view即可以是字符串又會是View呢下面會進(jìn)行解釋

View:                         對應(yīng)MVC 中的V, 此接口只有一個方法 render,用于視圖展現(xiàn)

ModelAndView             對于解決上面介紹ViewResoler或者下面圖片的疑惑,這個類中的view這個屬性是 Object 類型的,它可以是一個視圖名也可以是一個實(shí)際的View,這點(diǎn)我們觀察其源碼可以很清楚的看出來

private Object view;

 

 public void setViewName(String viewName) {

   this.view = viewName;

}

 public String getViewName() {

  return (this.view instanceof String ? (String) this.view : null);

}

 public void setView(View view) {

  this.view = view;

 }

 public View getView() {

  return (this.view instanceof View ? (View) this.view : null);

 }     

Spring mvc的流程圖

如果看不全或者看不清圖,請點(diǎn)擊以下鏈接,由于圖片太大,流程入口從中間上方的Client開始

http://image54.360doc.com/DownloadImg/2012/08/0914/26053838_1.png

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Spring MVC執(zhí)行流程
學(xué)習(xí)SpringMVC系列教程(一)Spring MVC入門
通俗易懂說SpringMVC
SpringMVC核心:處理請求流程
淺談SpringMVC執(zhí)行過程
springMVC ModelAndView 作用與功能解析
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服