為什么需要MVC設(shè)計(jì)模式?
“MVC”模式即是:“Model-View-Controller”模式。在這種模式中,通過(guò)jsp技術(shù)來(lái)表現(xiàn)頁(yè)面,通過(guò)servlet技術(shù)來(lái)完成大量的事務(wù)處理工作,實(shí)現(xiàn)用戶的商業(yè)邏輯。 在這種模式中,Servlet用來(lái)處理請(qǐng)求的事務(wù),充當(dāng)了控制器(Controller即“C”)的角色,Servlet負(fù)責(zé)響應(yīng)客戶對(duì)業(yè)務(wù)邏輯的請(qǐng)求并根據(jù)用戶的請(qǐng)求行為,決定將哪個(gè)JSP頁(yè)面發(fā)送給客戶。JSP頁(yè)面處于表現(xiàn)層,也就是視圖(View即“V”)的角色。JavaBean則負(fù)責(zé)數(shù)據(jù)的處理,也就是模型(Model即“M”)的角色 Servlet+JSP+JavaBean(MVC)模式適合開發(fā)復(fù)雜的web應(yīng)用,在這種模式下,servlet負(fù)責(zé)處理用戶請(qǐng)求,jsp負(fù)責(zé)數(shù)據(jù)顯示,javabean負(fù)責(zé)封裝數(shù)據(jù)。 Servlet+JSP、JavaBean模式程序各個(gè)模塊之間層次清晰,web開發(fā)推薦采用此種模式。 MVC架構(gòu) Model-View-Controller架構(gòu)模式是80年代中期在Smalltalk-80 GUI(一種經(jīng)典的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言)實(shí)驗(yàn)室發(fā)明的。 根據(jù)MVC模式,一個(gè)軟件應(yīng)該將商務(wù)邏輯(Model)和顯示(View)分開。分開有許多好處,最主要的有兩個(gè)方面:
1、同一的商務(wù)邏輯層(Model)可能會(huì)對(duì)應(yīng)多個(gè)顯示層(View),如果商務(wù)邏輯層和顯示層放在一起的話,再添加一個(gè)顯示層的時(shí)候就會(huì)極大的增加組件的復(fù)雜性。一個(gè)商務(wù)邏輯對(duì)著兩個(gè)顯示層的例子是:銀行的帳戶的商務(wù)邏輯層對(duì)應(yīng)ATM和Internet兩個(gè)顯示層。
2、通常情況下,每次修改顯示層的時(shí)候一般并不需要修改商務(wù)邏輯層。