什么是MVC開發模式以及它和傳統開發模式的區別
Model1模式:使用純JSP或者JSP+JavaBean開發,存在如下缺陷:JSP頁面中混合了HTML和JAVA代碼,從而給代碼的開發和閱讀帶 來了麻煩;系統后期維護和擴展非常困難,例如在JSP頁面進行數據庫連接和操作,如果需要對數據庫進行任何修改,都必須打開所有操作數據庫的JSP頁面進 行相應的修改,當頁面非常多的時候,工作量相當大;系統不容易調試,由於HTML、JAVA、JavaScript都混合在一起,必須要啟動服務器並調用 JSP頁面才能查看運行效果。故此模式適合小規模的WEB應用開發。
JSP+JavaBean開發,雖然實現了邏輯功能和顯示功能的分離,但是由於視圖層和控制層都是由JSP頁面實現的,即視圖層和控制層沒有實現分離,所以它任然屬於Model1模式。
Model2模式——MVC開發模式
它是為了克服Model1存在的不足而設計的,MVC的具體含義是:model+view+control,即模型+視圖+控制,這樣的模式集成了JSP、Serclet、JavaBean,非常適合大型項目的開發。
View視圖層:
代表和用戶交互的界面,可以通過html、xml、applet小java程序等實現,它僅僅負責數據的采集和處理(顯示)。在JSP中它由JSP頁面單獨實現。
Model模型層:
它常常使用JavaBean來編寫,它接受視圖層請求的數據,然后進行相應的業務處理並返回最終的處理結果,它負擔的責任最為核心,並利用JavaBean具有的特性實現了代碼的重用和擴展以及給維護帶來了方便。
Control控制層:
控制層是從用戶端接收請求,然后將請求傳遞給模型層並告訴模型層應該調用什么功能模塊來處理該請求,它將協調視圖層和模型層之間的工作,起到中間樞紐的作用,它一般交由Serclet來實現。
MVC開發模式與Model1模式比較,顯示出如下特點:
(1)各層各負其責,互不干涉。各自更新之后對其它層沒有任何干擾;
(2)MVC開發模式有利於責任分工,讓專門人員分別從事專門層的設計,提高工作效率和質量;
(3)組件可以得到很好的重用,由於分工明確,各層的組件可以獨立成一個可以重用的組件。
但是MVC開發模式相對Model1來說比較復雜,所以它比較適合開發大中型項目應用,而Model1模式適合小規模的WEB應用開發。