MVC(Model View Controller)模型-視圖-控制器
MVC是三個(gè)單詞的縮寫,分別為: 模型(Model),視圖(View)和控制Controller)。 MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。 Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBea(pojo和dao)來實(shí)現(xiàn)。 View層用于與用戶的交互,通常用JSP來實(shí)現(xiàn)。 Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請(qǐng)求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。

M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。
控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器(例如:servlet)本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后確定用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)。
MVC 結(jié)構(gòu)組成部分:
1、ControllerServlet.java
??? 請(qǐng)求轉(zhuǎn)發(fā)控制器,調(diào)用工廠類生成一個(gè)action對(duì)象,再利用action對(duì)象得到處理后要顯 示的目標(biāo)頁面(url),最后將請(qǐng)求和應(yīng)答對(duì)象轉(zhuǎn)向目標(biāo)url;
2、ActionFactory.java
傳入經(jīng)過命令解析(利用了web.xml配制的映射關(guān)系)后得到的具體的實(shí)現(xiàn)Action接口的類的名字(包名.類名)
3、Action.java
接器定義所有動(dòng)作的公共接口;
4、具體實(shí)現(xiàn)Action的實(shí)現(xiàn)類
可以理解為具體實(shí)現(xiàn)處理頁面上的每一種用戶請(qǐng)求;對(duì)數(shù)據(jù)進(jìn)行了處理,并給出了一個(gè)url供ControllerServlet.java去轉(zhuǎn)發(fā);
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
