将前端与后端写在同一个项目中,配置在同一个服务器上,访问该服务器时,直接访问整个项目也就是jsp(html+java)。
将去前端html,css,js,等视图显示与java后端数据支撑各自抽取出来。
也就是前端HTML页面通过ajax调用后端的RESTFUL API接口并使用json数据进行交互。
前后端分离的优势:1、可以实现真正的前后端解耦。
前端/WEB 服务器放的是 css,js,图片等等一系列静态资源,前端服务器负责控制页面的引用,跳转,路由等。
2、发现 bug,可以快速定位是谁的问题,不会出现互相踢皮球的现象。
页面逻辑,跳转错误,浏览器兼容性问题,脚本错误,页面样式等问题,全部由前端工程师来负责。接口数据出错,数据没有提交成功,应答超时等问题,全部由后端工程师来解决。
3、减少后端服务器的负载压力。除了接口以外的其他所有 http 请求全部转移到前端服务器上。
4、即使后端服务暂时超时或者宕机了,前端页面也会正常访问,只不过数据刷不出来而已。
5、也许你也需要有微信相关的轻应用,那样你的接口完全可以共用,如果也有app 相关的服务,那么只要通过一些代码重构,也可以大量复用接口,提升效率。 (进行多端应用)
6、页面显示的东西再多也不怕,因为是异步加载。
7、nginx 支持页面热部署,不用重启服务器,前端升级更无缝。
8、增加代码的维护性&易读性(前后端混在一起的代码读起来相当费劲)。
9、提升开发效率,因为可以前后端并行开发,而不是像以前的强依赖。
10、在 nginx 中部署证书,外网使用 https 访问,并且只开放 443 和 80 端口,其他端口一律关闭(防止黑客端口扫描),内网使用 http,性能和安全都有保障。
口,其他端口一律关闭(防止黑客端口扫描),内网使用 http,性能和安全都有保障。
11、前端大量的组件代码得以复用,组件化,提升开发效率.



