小乙shine 2019-07-14 18:29 采纳率: 50%
浏览 5864

springcloud+thymeleaf是如何做到前后端完全分离的?求原理

之前,用jsp或者velocity等模板引擎都是把一些模板文件放到项目的webapp文件夹下,
浏览器请求时,直接访问controller,然后springmvc获取数据后去填充模板,最后返回给浏览器一个视图。但我觉得这种方式还不算前后端完全分离。

最近学习了springcloud,网上说的,全部都是把thymeleaf模板放到resources/template下面,也是通过springmvc填充模板、返回视图的方式,
可我觉得这种做法和之前没啥区别,也不能算前后端完全分离。

最近看到有的项目把前端的页面单拎出来作为一个前端项目,就是,前端一个项目,后端一个项目,我觉得这才是前后端完全分离,但完全搞不懂这是怎么做到的。

求大佬们给个提示:)

  • 写回答

2条回答 默认 最新

  • 小乙shine 2019-12-02 11:15
    关注
    这个问题我已完全明白。用的是前端框架,比如vue,react,anguler(它们都擅长单页应用),这些都是应用了前端模块式开发(node.js+webpack框架)和响应式编程模式。
    在响应式下,jQuery和各种模板引擎所能发挥作用的余地就很小了,甚至面临被淘汰的危机。这是因为前端程序员不用再操作DOM了。记得我刚开始工作那会,做一个某个页面,各种点击各种隐藏,麻烦的一批,最后还是交给了专门的前端人员,可学了响应式后,这些就是分分钟的事。
    前端框架为前端带来了质的飞跃。首先,这使得前后端完全分离开来,后端只需负责写数据接口,所有跟页面有关的工作完全不用后端管。而前端只负责读接口文档,然后处理后端传来的数据就行了。其次,编程效率大大提高、代码耦合度大大降低,随之维护成本大大降低。页面被模块化、组件化后,一个看起来很复杂的页面引入组件库(比如element-ui)中的一两个组件就完了。
    但前端框架也有些毛病,比如以往的模板引擎擅长做多页应用,如果业务上需要依靠搜索引擎排名,这对其就很有利。但前端框架擅长做单页应用,很多页面被隐藏在js文本中这使其不容易被搜索引擎检索到,但是以我来看目前市场上绝大部分项目是不需要搜索引擎排名的比如oa系统,至于官网页面就根本不必用前端框架(就是几张图片贴来贴去)。此外,单页应用要一次性加载很多页面,这使得其在第一次加载时比较慢,但是以后所有页面就是在本地加载了,那速度就很快了。不过随着5g 的到来所有跟加载有关的问题就都是小事了。
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?