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值的变化。