?
1. 什么是 MVC :
?????MVC 即 Model-View-Control( 模型 - 視圖 - 控制器 ) 結(jié)構(gòu),即將應(yīng)用程序開(kāi)發(fā)分為三個(gè)部分:負(fù)責(zé)展示數(shù)據(jù)對(duì)象給用戶的界面層 ---view 層 ( 如 html,jsp 等頁(yè)面文件 ) ;根據(jù)界面反饋處理業(yè)務(wù)邏輯的控制層 ---control 層 ( 如 servlet 控制器接收用戶請(qǐng)求 ) ;系統(tǒng)的數(shù)據(jù)模型,即域?qū)ο? model 層 ( 如 javaBean 代碼負(fù)責(zé)數(shù)據(jù)存取 )
?
?
?
2. MVC 模式的優(yōu)點(diǎn)和缺點(diǎn):
?????MVC 結(jié)構(gòu)的系統(tǒng)會(huì)從根本上強(qiáng)制我們將 web 系統(tǒng)中的數(shù)據(jù)對(duì)象,業(yè)務(wù)邏輯,用戶界面三者分離 ( 盡管不能絕對(duì)做到 ) [ 低耦合性 , 高重用性和可適用性 , 較低的生命周期成本 , 快速的部署 , 可維護(hù)性 , 有利于軟件工程化管理 ]
????
MVC 的缺點(diǎn)是由于它沒(méi)有明確的定義,所以完全理解 MVC 并不是很容易。使用 MVC 需要精心的計(jì)劃,由于它的內(nèi)部原理比較復(fù)雜,所以需要花費(fèi)一些時(shí)間去思考
?
?
3. 一個(gè) MVC 構(gòu)架設(shè)計(jì)實(shí)例
一個(gè) BBS 系統(tǒng)的 MVC 設(shè)計(jì)思路:
結(jié)構(gòu) ---HTML+Jsp+Servlet+JavaBean
Jsp 和 HTML 負(fù)責(zé)生成界面
Servlet 負(fù)責(zé)流程轉(zhuǎn)發(fā)至對(duì)應(yīng)的 Action 實(shí)現(xiàn) ( 最好是一個(gè) servlet 主控類 )
JavaBean 負(fù)責(zé)業(yè)務(wù)數(shù)據(jù)模型的存取
????
????在設(shè)計(jì) MVC 模式代碼時(shí),可將要 Servlet 類, action 類,以及數(shù)據(jù)庫(kù)操作類分別裝在不同的包中,同時(shí)將 action 獨(dú)立配置在一個(gè)配置文件中,并將路徑結(jié)尾設(shè)置,這樣當(dāng)頁(yè)面發(fā)起請(qǐng)求時(shí),可根據(jù)路徑結(jié)尾發(fā)送到主控 Servlet 處理
????
?
?
<!--EndFragment-->
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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