好程序員Java學習路線分享SpringMVC之MVC概述,前言:目前Web開發的主流模式是MVC,Spring提供了SpringMVC模塊,支持MVC模式開發,本章咱們將對MVC模式進行一個總體認識。
Web開發模式的演變
在早期的java web開發中,咱們將頁面顯示、業務邏輯、數據操做所有放到JSP或JavaBean中實現,也就是Model1前端
這種模式的缺點是:
一、耦合性高,全部代碼都在JSP中,Java和HTML混合在一塊兒,編寫困難
二、不利於分工,Java開發人員必須所有完成前端頁面和Java程序開發
三、難以測試,前端頁面和Java相互依賴,沒法單獨運行,單獨測試
代碼難以重用
隨着時代的發展,後來出現了Servlet+JSP+JavaBean的開發模式,也就是Model2java
Model2也就是早期的MVC,它把頁面展現、請求處理、數據操做代碼分開,解決了Model1耦合性高的問題。
用戶請求先交給Servlet,Servlet再調用JavaBean對數據庫操做,而後將數據綁定到JSP上,將JSP返回給用戶。
MVC術語
M就是Model表明模型層,負責業務邏輯和數據處理,如:數據庫的CRUD。
V 就是View表明視圖層,負責數據的展現和用戶的交互,如:JSP頁面。
C 就是Controller表明控制器層,控制器負責視圖和模型之間的交互,把用戶的請求分發到相應的模型,而且把模型的改變及時地反映到視圖上。
MVC的發展
爲了解決數據庫的事務處理問題,JavaBean分爲了三個部分:
bean 實體層,封裝表的數據
dao 數據訪問層,負責每一個表的增刪改查
service 業務邏輯層,負責實現事務程序員
MVC的優勢
1.耦合性低
視圖層和業務邏輯層分離,這樣咱們能夠單獨修改頁面樣式和java邏輯代碼,而不須要考慮會對其它部分代碼形成影響。
2.重用性高
當業務邏輯和視圖分離後,不一樣的JSP頁面能夠重用相同的業務邏輯代碼,如手機訂購頁面和電腦訂購頁面,雖然頁面內容不一樣,可是訂購的業務邏輯相同。相同的JSP頁面也可使用不一樣的業務邏輯,如訂購的流程修改了,可是頁面樣式沒有修改,咱們只須要修改後面的業務邏輯,而不須要修改頁面。
3.部署快,生命週期成本低
MVC使開發和維護用戶接口的技術含量下降。使用MVC模式使開發時間獲得至關大的縮減,它使程序員(Java開發人員)集中精力於業務邏輯,界面程序員(HTML和JSP開發人員)集中精力於表現形式上。
4.可維護性高
分離視圖層和業務邏輯層也使得WEB應用更易於維護和修改。web
固然MVC也有缺點:
一、結構比較複雜,不適合中小型的應用程序。
二、每一個層互相調用,關係複雜,給調試帶來困難。
三、效率低
總結
MVC主要的做用是解耦,下降耦合性後,項目的維護、測試、代碼複用都變得容易了,理解了MVC模式後,咱們將學習SpringMVC框架。數據庫