MVC框架
MVC(model,view,controller),一種將業務邏輯、數據、界面分離的方法組織代碼的框架。在改進界面及用戶交互的同時,不需要重寫業務邏輯。MVC將傳統的輸入、處理和輸出分離。
Model:模型,邏輯部分,也是表示應用程序的核心,比如說數據庫的表和記錄
View:視圖,數據顯示,也是表示界面,是用於顯示的,比如說顯示數據庫的記錄
Controller:控制器,用戶交互,也是表示處理的,比如說處理/增刪查改數據庫的記錄
MVC中,視圖可以有多個,在視圖中沒有真正的處理,視圖只作為一種數據輸出的形式,一個允許用戶操作的平台;模型中的代碼可以被多個視圖使用;控制器通過接受用戶的輸入、調用模型、調用視圖去完成用戶的請求,控制器也不做處理,只做接收請求然后通知相關的模型,再確定用哪個視圖來返回數據。
MVC將視圖層和業務層分離,很容易改變應用程序的數據層和業務規則,耦合性低且可維護性高。
MVC中的模型可以被不同的視圖使用,重用性高。
Spring MVC
基於JAVA實現MVC設計模式的請求驅動類型的輕量型WEB框架,即使用了MVC思想,將WEB層進行解耦。
執行流程:瀏覽器發送請求給控制器,控制器接收請求將請求委托給業務對象進行處理,然后將結果使用視圖渲染返回到瀏覽器。
簡單MVC實例
圖一:結構圖
圖二:頁面介紹
以添加課程整個流程為例
1)在showCourse.jsp(View)中,有一添加課程的鏈接,使用action傳遞請求到courseServlet(Controller)
2)在courseServlet.java中,deGet方法
3)doPost方法,在其間判斷action做什么
4)找到addApply,執行addApply(req,resp,out)方法
5)到上一步所說的方法,前段控制器,請求委托,到達addCourse.jsp頁面
6)addCourse.jsp又再次請求,addHandin,再次到達courseServlet中
7)此時執行addHandin方法