springmvc學習記錄(一)

1,用戶發送請求到springmvc框架提供的DispatcherServlet 這個前端控制器(瞭解struts2的朋友也都知道其實struts2也有一個前端控制器web.xml中的filter標籤就是)
2,前端控制器會去找處理器映射器(HandlerMapping),處理器映射器根據請求url找到具體的處理器,生成處理器對象及處理器攔截器(如果有則生成)一併返回給DispatcherServlet 。
3,根據處理器映射器返回的處理器,DispatcherServlet 會找“合適”的處理器適配器(HandlerAdapter)
4,處理器適配器HandlerAdpater會去執行處理器(Handler開發的時候會被叫成controller 也叫後端控制器在struts2中action也是一個後端控制器)執行之前會有轉換器、數據綁定、校驗器等等完成上面這些纔會去正在執行Handler
5,後端控制器Handler執行完成之後返回一個ModelAndView對象
6,處理器適配器HandlerAdpater會將這個ModelAndView返回前端控制器DispatcherServlet。前端控制器會將ModelAndView對象交給視圖解析器ViewResolver。
7,視圖解析器ViewResolver解析ModelAndView對象之後返回邏輯視圖。
8,前端控制器DispatcherServlet對邏輯視圖進行渲染(數據填充)之後返回真正的物理View並響應給瀏覽器。
對組件說明:
1,DispatherServlet:前端控制器
用戶請求到達前端控制器,相當於MVC中的C,而DispatherServlet是整個流程的核心,它來調用其他組件來處理用戶的請求,前端控制器的存在降低了其他組件之間的耦合度。
2,HandlerMapping:處理器映射器
它的作用就好比去看電影要拿着電影票根據電影票上面的座位號找到座位其中座位就是Handler,電影票以及上面的座位號就是URL
HandlerMapping 負責根據用戶請求找到Handler即處理器,springmvc提供了不同的映射器實現不同的映射方式,例如:配置文件方式,實現接口方式,註解方式等。
3,Handler:處理器
Handler是後端控制器,在前端控制器的控制下後端控制器對具體的用戶請求進行處理,Handler涉及到具體的用戶業務請求,所以一般情況下需要程序員根據業務需求開發.
4,HandlerAdapter:處理器適配器
通過HandlerAdapter對處理器進行執行,這是適配器模式的應用,通過適配器可以對更多類型的處理器進行執行。
播放的電影是3D的你看不清楚,因此電影院跟你說你要想看清電影就必須戴3D眼鏡。也就是說Handler滿足一定的要求纔可以被執行。
5,ViewResolver:視圖解析器
ViewResolver負責將處理結果生成View視圖,ViewResolver首先根據邏輯視圖名解析成物理視圖名即具體的頁面地址,再生成View視圖對象,最後對View進行渲染將處理結果通過頁面展示給用戶。
感興趣的同學,希望能夠熟記這第一章。因爲一旦你會struts1或者struts2等其他,第一章看結束基本上就能知道這個框架是怎麼樣的了,剩餘的也就是怎麼實現。
作者: HansonQ
鏈接:http://www.imooc.com/article/3804
來源:慕課網

發佈了20 篇原創文章 · 獲贊 7 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章