學習視頻:孫哥說SpringMVC:結合Thymeleaf,重塑你的MVC世界!|前所未有的Web開發探索之旅 第一章、SpringMVC的引言 1.1什麼是SpringMVC 概念:SpringMVC是基於Spring Framework衍生而來的MVC框架,主要解決了原有MVC框架開發過程中,控 ...
第一章、SpringMVC的引言
1.1什麼是SpringMVC
- 概念:SpringMVC是基於Spring Framework衍生而來的MVC框架,主要解決了原有MVC框架開發過程中,控制器(Controller)的問題
- SpringMVC是一個MVC框架
-
MVC是一個架構思想,在JavaEE開發中多用於Web開發。
-
應用MVC架構思想開發應用,會把一個項目劃分為了3個層次,M(model)模型層,V(View)視圖層,C(Controller)控制層
View JSP
Model Service+DAO
Controller Servlet
-
MVC這種分層開發,體現了面向對象各司其職的設計思想,也更加有利於後續的項目維護(修改)。
-
- 為什麼要基於Sping Framework
- 通過工廠(容器)創建對象,解耦合(IOC DI)。
- 通過AOP的方式,為目標類(原始類)增加額外功能
- 方便與第三方框架的集成
- MyBatis
- JPA
- MQ
- 原有MVC開發中控制器存在的問題
- 原有MVC開發中的控制器通過哪些技術實現的?
- 這些技術在實現控制器時,存在著哪些問題
實現技術:1.Servlet[基於Java Model2模式]
Servlet實現控制器存在的問題:
- 控制器的核心作用
- 接收用戶的請求,調用業務功能(Service),並根據處理結果控製程序的運行流程。
- 控制器的核心代碼
- 接收client參數
- 調用業務對象(Service)
- 流程跳轉(頁面跳轉)
- 控制器存在的問題
-
接收client請求參數方面
- 代碼冗餘
- 只能接受字元串類型的數據,需要手工進行類型轉換
- 無法自動封裝對象
-
調用業務對象(Service)方面
UserService userService = new UserServiceImpl();//耦合代碼 boolean isLogin = userService.login(name,password);
通過new的方式獲得業務對象(service)存在耦合
-
流程跳轉(頁面跳轉)
-
跳轉路徑耦合
-
與視圖層技術的耦合
-
-
1.2 SpringMVC課程的學習要點
1.2.1 SpringMVC的三種開發模式
- 傳統視圖開發【基礎課程講解】
- 通過作用域(request,session)進行數據的傳遞
- 通過視圖層技術進行數據的展示(JSP,FreeMarker,Thymeleaf)
- 前後端分離開發【MVC高級課程講解】
- 多種新的請求發送方式
- Restful的訪問(Url的訪問方式)
- 通過HttpMessageConverter進行數據響應
- Spring5 WebFlux開發【獨立課程講解】
- 替換傳統JavaWeb開發的一種新的Web開發方式
- 通過NettyServer,進行Web通信
1.2.2控制器開發步驟
- 接受client請求參數
- 調用業務對象
- 流程跳轉
作者:揚眉劍出鞘
出處: https://www.cnblogs.com/eyewink/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。