0
点赞
收藏
分享

微信扫一扫

JavaWeb前后端分离架构

dsysama 2022-01-15 阅读 54

JavaWeb前后端分离架构

前后端分离已成为互联网项目开发的业界标准使用方式,通过 nginx+tomcat的方式有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS 等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。

核心思想是前端 html 页面通过 ajax 调用后端的 restuful api 接口并使用 json数据进行交互。
在这里插入图片描述

前后分离的优势

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

在本机中部署项目

前端

  1. 在Vue-cli项目中输入命令npm run build 打包
  2. 将dist包中的内容移至nginx/html下
  3. 启动nginx

后端

  1. 将springboot项目打jar包
  2. cmd中输入命令java -jar springboot8080.jar启动服务
  3. 启动放置图片的服务tomcat:apache-tomcat-9.0.43(img)\bin\startup.bat

访问 localhost+nginx端口

举报

相关推荐

0 条评论