好程序員Java學習路線分享SpringMVC之MVC概述

  好程序員Java學習路線分享SpringMVC之MVC概述,前言:目前Web開發的主流模式是MVC,Spring提供了SpringMVC模塊,支持MVC模式開發,本章咱們將對MVC模式進行一個總體認識。
Web開發模式的演變
  在早期的java web開發中,咱們將頁面顯示、業務邏輯、數據操做所有放到JSP或JavaBean中實現,也就是Model1
圖片描述前端

  這種模式的缺點是:
  一、耦合性高,全部代碼都在JSP中,Java和HTML混合在一塊兒,編寫困難
  二、不利於分工,Java開發人員必須所有完成前端頁面和Java程序開發
  三、難以測試,前端頁面和Java相互依賴,沒法單獨運行,單獨測試
  代碼難以重用
  隨着時代的發展,後來出現了Servlet+JSP+JavaBean的開發模式,也就是Model2
圖片描述java

  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框架。數據庫

相關文章
相關標籤/搜索