前后端合作分为两种方式:1.服务器渲染 2.前后端分离

1.服务器渲染(SSR)

客户端请求,服务端的servlet或controller接收请求,后端控制路由与渲染页面,调用service,dao代码完成业务逻辑,返回jsp,jsp展现页面。

tips:

  servlet是在服务器上运行的小程序。这个词是在 Java applet的环境中创造的,Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。

  controller 就是MVC里的控制器。

  dao 是后端的数据访问层。

2.前后端分离

浏览器发送请求,直接到达html页面,页面负责调用服务器端口产生数据,填充html,在页面上进行解析操作DOM

两者的区别:

传输量:

服务器渲染传输数据较多,而且很多重复数据。

前后端分离传输数据量少

传输数据:

服务器渲染返回的是HTML

前后端分离返回的是JSON格式的数据

控制:

服务器渲染由后端来决定大多数

前后端分离 跳转的页面,由前端来决定

SEO:

服务器渲染支持SEO

前后端分离不支持SEO,因为首屏渲染出的html里是空数据

用户体验:

服务器渲染 返回的是包含数据和HTML的页面,首屏加载快

前后端分离 有渲染数据的过程,首屏渲染加载时间较长,单页面应用(SPA),用户体验更好

对于开发者:

服务器渲染 后台压力较大,出现bug会存在踢皮球的现象,服务器端压力较大。

前后端分离 前端和后台各司其职,出现bug快速定位谁的原因,较少服务器端压力,页面出现大量数据前端可以异步加载。提高开发效率。前端代码,可以复用,组件化。提升开发效率。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐