1 回答

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
1.當(dāng)用戶在瀏覽器中點(diǎn)擊一個(gè)鏈接或者提交一個(gè)表單時(shí),那么就會(huì)產(chǎn)生一個(gè)請(qǐng)求(request)。當(dāng)請(qǐng)求離開(kāi)瀏覽器時(shí),它會(huì)攜帶用戶請(qǐng)求的信息。
2.請(qǐng)求的第一站到達(dá)的是Spring的DispatcherServlet,它是一個(gè)前端控制器,工作是將用戶的請(qǐng)求委托給其他的組件(這里是交給Spring MVC的控制器)去處理。
這里DispatcherServlet要決定將請(qǐng)求傳給哪一個(gè)控制器(Controller)去處理,那么這時(shí)就需要處理器映射(Handler Mapping)了。
處理器映射會(huì)看請(qǐng)求的URL信息,然后決定將請(qǐng)求交給哪一個(gè)控制器去處理。比如說(shuō)有兩個(gè)控制器ControllerA和ControllerB,分別處理后綴名為.html和.jsp送來(lái)的請(qǐng)求,那么當(dāng)請(qǐng)求者的后綴名為.html時(shí),那么DispatcherServlet就將請(qǐng)求交給ControllerA進(jìn)行處理。
C代表Controller,負(fù)責(zé)用戶界面和業(yè)務(wù)邏輯層的通信控制,一方面解釋來(lái)自用戶界面的輸入,識(shí)別用戶動(dòng)作(如點(diǎn)擊按鈕等),調(diào)用相應(yīng)Model中的方法,另一方面處理來(lái)自Model的事件和返回的執(zhí)行結(jié)果,調(diào)用適當(dāng)?shù)腣iew顯示給用戶,Controller主要由Servlet完成。
M代表Model,負(fù)責(zé)整個(gè)解決方案的業(yè)務(wù)邏輯實(shí)現(xiàn),底層的數(shù)據(jù)庫(kù)也由Model訪問(wèn)和操作;
V代表View,負(fù)責(zé)系統(tǒng)向用戶的展示,主要由HTML及JSP等完成;
- 1 回答
- 0 關(guān)注
- 564 瀏覽
添加回答
舉報(bào)