千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > SpringMVC之MVC概述

SpringMVC之MVC概述

來源:千鋒教育
發布人:小鋒
時間: 2019-08-12 09:58:00 1565575080

  前言

  目前Web開發的主流模式是MVC,Spring提供了SpringMVC模塊,支持MVC模式開發,本章我們將對MVC模式進行一個整體認識。

  Web開發模式的演變

  在早期的java web開發中,我們將頁面顯示、業務邏輯、數據操作全部放到JSP或JavaBean中實現,也就是Model1。

圖片1

  這種模式的缺點是:

  1、耦合性高,所有代碼都在JSP中,Java和HTML混合在一起,編寫困難。

  2、不利于分工,Java開發人員必須全部完成前端頁面和Java程序開發。

  3、難以測試,前端頁面和Java相互依賴,無法單獨運行,單獨測試代碼難以重用。

  隨著時代的發展,后來出現了Servlet+JSP+JavaBean的開發模式,也就是Model2。

圖片2

  Model2也就是早期的MVC,它把頁面展示、請求處理、數據操作代碼分開,解決了Model1耦合性高的問題。

  用戶請求先交給Servlet,Servlet再調用JavaBean對數據庫操作,然后將數據綁定到JSP上,將JSP返回給用戶。

  MVC術語

  M就是Model代表模型層,負責業務邏輯和數據處理,如:數據庫的CRUD。

  V 就是View代表視圖層,負責數據的展示和用戶的交互,如:JSP頁面。

  C 就是Controller代表控制器層,控制器負責視圖和模型之間的交互,把用戶的請求分發到相應的模型,并且把模型的改變及時地反映到視圖上。

  MVC的發展

  為了解決數據庫的事務處理問題,JavaBean分為了三個部分:

  bean:實體層,封裝表的數據。

  dao:數據訪問層,負責每個表的增刪改查。

  service:業務邏輯層,負責實現事務。

圖片3

  MVC的優點

  1.耦合性低

  視圖層和業務邏輯層分離,這樣我們可以單獨修改頁面樣式和java邏輯代碼,而不需要考慮會對其它部分代碼造成影響。

  2.重用性高

  當業務邏輯和視圖分離后,不同的JSP頁面可以重用相同的業務邏輯代碼,如手機訂購頁面和電腦訂購頁面,雖然頁面內容不同,但是訂購的業務邏輯相同。相同的JSP頁面也可以使用不同的業務邏輯,如訂購的流程修改了,但是頁面樣式沒有修改,我們只需要修改后面的業務邏輯,而不需要修改頁面。

  3.部署快,生命周期成本低

  MVC使開發和維護用戶接口的技術含量降低。使用MVC模式使開發時間得到相當大的縮減,它使程序員(Java開發人員)集中精力于業務邏輯,界面程序員(HTML和JSP開發人員)集中精力于表現形式上。

  4.可維護性高

  分離視圖層和業務邏輯層也使得WEB應用更易于維護和修改。

  當然MVC也有缺點:

  1、結構比較復雜,不適合中小型的應用程序。

  2、每個層互相調用,關系復雜,給調試帶來困難。

  3、效率低。

  總結

  MVC主要的作用是解耦,降低耦合性后,項目的維護、測試、代碼復用都變得容易了,理解了MVC模式后,我們將學習SpringMVC框架。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
综合久久—本道中文字幕 | 日韩欧美精品有码在线 | 日本新一二三区不卡在线观看 | 中文乱码精品视频在线 | 亚洲国产精品综合久久 | 中文字字幕在线中文字在线看 |