我們最初將一個簡單編程項目放在一個主函數中就可以完成,按部就班,面向過程,實現功能。
直到業務量越來越龐大,需求量越來越多,處理邏輯越來越復雜,我們開始着手面向對象的編程。
當一個編程任務有了一個比較復雜的運算邏輯和較為龐大的任務量,那么就可以很好的體現人類分工合作的優勢——使用分層架構。
在JavaWeb工程中,我們使用了不同java開發模式。
JavaWeb開發模式1
主要采用JSP+JavaBean
特點:
JSP負責接受用戶請求,處理請求邏輯,顯示數據
JavaBean傳輸數據,負責業務邏輯
將頁面與業務分開
適用於一些小的應用,減小代碼的層數,提高效率
沒有復雜業務邏輯的業務時,請求給JSP,JSP調用JavaBean的方法完成業務邏輯
JavaWeb開發模式2
主要采用JSP+Servlet+JavaBean
特點:
JSP顯示數據
Servlet負責接受用戶請求,處理請求邏輯,委托模型處理業務邏輯
JavaBean傳輸數據,負責業務邏輯
同樣適用於一些小的應用
請求給控制器Servlet,調用JavaBean的方法完成業務邏輯,數據傳輸,JavaBean將結果先返給控制器Servlet,再將數據交給JSP顯示(或JavaBean將數據交給JSP顯示)
目的:在開發過程中層次分明
符合MVC模式: JavaBean——模型(M)
JSP——顯示(V)
Servlet——控制(C)
MVC架構
1.本身是一種架構模式
2.不引入任何功能
3.幫助開發變得更合理,使展示和模型分離,邏輯控制、業務邏輯分開
4.Model
模型,提供要展示的數據,處理業務邏輯
5.View
視圖,負責進行模型數據的展示
6.Controller
控制器,接受用戶請求,委托模型進行處理,處理完畢后將數據交給視圖進行展示
7.MVC局限性
在處理復雜業務時javabean將變得十分龐大,故需要將MVC與三層架構結合起來
JavaWebMVC
M模型,JavaBean
V顯示,JSP
C控制,Servlet
WebMVC和標准MVC架構是一個概念
與標准MVC區別:WebMVC模型沒法直接將數據推送給視圖
正確理解javabean
在三層架構中,javabean稱為域模型
在MVC中,M代表的javabean稱為javabean組件
MVC+三層架構:
當MVC作為表示層,結合在三層架構中,M代表的javabean組件消失,此時M指代域模型javabean,而域模型javabean仍然存在,仍作為數據傳遞的角色存在