1、DispatcherServlet(前端控制器)
- 用戶的請(qǐng)求,通過(guò)
DispatcherServlet分發(fā),到達(dá)一個(gè)合適的Controler來(lái)生產(chǎn)我們需要的業(yè)務(wù)數(shù)據(jù)Model;Model通過(guò)DispatcherServlet傳遞給View,來(lái)完成最終的頁(yè)面呈現(xiàn)。
<p>
<p>
2、Controler
-
我們調(diào)用業(yè)務(wù)邏輯成產(chǎn)Model的地方。
<p>
3、HandlerAdapter
首先
Handler是在DispatcherServlet內(nèi)部使用的一個(gè)類,就是Controler的一個(gè)表現(xiàn)形式,SpringMVC中并沒有一個(gè)接口或者抽象類叫Controler,只是有一個(gè)標(biāo)簽,這個(gè)標(biāo)簽只是我們?yōu)榱俗R(shí)別Controler而引入的。在DispatcherServlet中調(diào)用Contrer是以Handler形式出現(xiàn)的。HandlerAdapter是一個(gè)適配器模式,將各種不同類型的Handler適配成DispatcherServlet可以使用的Handler。這樣
DispatcherServlet就可以很輕松的調(diào)用我們的Controler適配器。

<p>
4、HandlerInterceptor(接口)
- 在我們需要被攔截的對(duì)象的兩側(cè)加入一些料。

5、HandlerMapping
-
Handler是Dispatcher調(diào)用Controler的一種中間過(guò)渡對(duì)象。 -
Mapping是DispatcherServlet(前端控制器)和Controler之間映射關(guān)系的一種類。 - 在
HandlerMapping工作完畢之后,可以給DispatchServlet一個(gè)HandlerAdapter,這個(gè)HandlerAdapter里面包括,某個(gè)Controler的實(shí)例 ,以及這個(gè)Controler需要被包裹的HandlerInterceptor,他們會(huì)構(gòu)成一個(gè)執(zhí)行的鏈條往下走。

<p>
6、HandlerExecutionChain
-
HandlerMapping返回給DispatcherServlet的東西包括:HandlerAdapter和HandlerInterceptor。 -
這個(gè)鏈?zhǔn)峭ㄟ^(guò)java反射實(shí)現(xiàn)的。
<p>
7、ModelAndView
-
Model的具體表現(xiàn)。 - 在
Controler中既可以用Mode(SpringMVC中提供的類)也可以用Map來(lái)實(shí)現(xiàn)model的功能,但DispatcherServlet最終都會(huì)轉(zhuǎn)化為ModelAndView。

<p>
8、ModeResolver
- 告訴
DispatcherServlet你需要哪個(gè)視圖來(lái)進(jìn)行視圖的呈現(xiàn)
根據(jù)配置,找出那一個(gè)我們需要的視圖對(duì)象。
9、View

10、SpringMVC框架



