Q: angular + springmvc前後端分離 vs springmvc(jsp)區別
A:
一、前後端整體結構
(1)在寫springmvc(jsp)項目時,必須在controller層考慮要返回哪個頁面,頁面上塞什麼參數。
(2)angular通過純前端url控制顯示哪個頁面,並在對應頁面的controller裏面處理頁面上的參數,由controller決定需要向後端請求的數據。這樣springmvc成爲了一個純粹的restful架構。
二、獲取、更新數據方式
(1)jsp從後臺獲取新數據:
1. 重新向後臺請求model and view,通過刷新頁面的方式刷新數據
2. 發送ajax請求,刷新局部數據,然後將新數據綁定到dom元素上
(2)angular從後臺獲取新數據:
發送ajax請求,更新model值。model值通過angular的雙向綁定機制自動反饋到view上
(3)jsp獲取用戶輸入:
通過js的方式取得dom元素,然後獲取dom元素上的值
(4)angular獲取用戶輸入:
三、爲什麼說“angular的核心是數據”通過指令ng-model將template上的用戶輸入綁定到model值上
(1)jsp核心是ModelAndView,實質上是瀏覽器發出請求後,後臺將頁面渲染完畢,然後返回
(2)jquery的核心是dom元素,jquery中相當重要的概念就是選擇器。選擇器的目的是更方便的獲取dom元素。jquery通過dom元素獲取用戶輸入及用戶事件
(3)angular的核心是數據雙向綁定:angular建立了頁面數據與model值的映射關係,並以controller作爲中介傳輸model值的變化。