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