现在的位置:主页 > 综合新闻 >

我是如何放弃 JSP,转向 REST 编程的

来源:电脑编程技巧与维护 【在线投稿】 栏目:综合新闻 时间:2021-02-10

【作者】网站采编

【关键词】

【摘要】这是蜗牛互联网的第 87 期原创。 作者 | 白色蜗牛 来源 | 蜗牛互联网(ID: woniu_internet) 转载请联系授权(微信ID: ) 记得大学搞编程的时候,比起研究数据结构,做算法题,我更喜欢搞

这是蜗牛互联网的第 87期原创。作者 | 白色蜗牛来源 | 蜗牛互联网(ID: woniu_internet)转载请联系授权(微信ID: )

记得大学搞编程的时候,比起研究数据结构,做算法题,我更喜欢搞 web 编程。因为做 web 是可以通过浏览器快速看到效果的,可视化的页面也能带给自己满足感。

我画了个图,读者朋友可以感受下,自己作为用户,请求自己代码编出来的页面,岂不是很有成就感?

如果你作为用户来访问互联网资源,那么大概的过程是这样的:你在浏览器是录入 URL 或者点击一个超链接后,浏览器会请求 DNS 服务器解析这个 URL,返回域名映射的IP,然后通过 HTTP 请求这个 IP 对应的 web 资源,如果涉及到一些数据的查询,还会访问数据库服务器获取数据,然后把数据返回,web 服务器将数据和样式处理下,转成 web 资源,然后返回给浏览器,经过浏览器的渲染,你就能看到可视化的页面了。

但那时搞 web 编程还比较麻烦,什么 JSP,ASP,前端代码和后端代码杂糅在一起,就这么你离不开我我离不开你似的在 web 服务器上跑着,代码看上去不清爽,很多业务逻辑也没法被其它站点复用。

假设现在有三个巨头企业,他们分别维护 ,kk.com, 三个站点,这些站点向服务端的交互都是通过 JavaScript 客户端实现的。某一天三家合并了,那就会涉及很多业务互通,比如 站点下想访问 kk.com 的一些数据。

这时候该怎么做呢?过去通用的解法是用 SOAP(Simple Object Access Protocol,简单对象访问协议),这是一种基于 XML 格式以及 HTTP 传输方式的数据交换协议。

前端 JavaScript 是不能直接访问 SOAP 服务的,需要先访问到 对应的网站后台,然后由网站后台去访问 kk 提供的 SOAP 服务(要在之前网站后台直接访问数据库的逻辑上,抽取单独的服务层出来),然后再由 的网站后台对返回的数据进行渲染,将 HTML 等资源信息返回给前端。

那么这时候问题就来了,我在 上的一个前端页面上,一旦想加点 kk 才有的数据,我就必须得改 的网站后台,并且要重新接入 kk 提供的 soap 服务。这显然是一种低效的架构方式,相当影响研发效率。

那么有没有一种方式,我不需要经过 baitu 的网站后台,直接就能访问到 kk 的服务呢?页面上业务逻辑的处理,就不要放网站后台了,在 JavaScript 的客户端直接做掉,通过访问后端的某种服务获得业务处理的结果,然后基于网站后台存放的 HTML 和 CSS 来渲染页面。

就像图示的这样,baitu 的 JavaScript 客户端就做两件事,访问后端服务获取业务逻辑处理的结果数据,将数据以 网站后台存放的 HTML 和 CSS 的要求展示出来。这样看来,网站后台就像个壳,只负责本站的 HTML、CSS 和 JavaScript 等静态资源,相关的业务逻辑处理就交给服务来提供。

这就是前后端分离的思想,前端静态资源和后端动态服务解耦。前端只关心 HTML 等前端代码,不涉及一行后端代码,后端只关心自己提供的服务,不涉及一行前端代码。

在这种思想的指引下,SPA(single page web application,单页面应用)就出现了。SPA 是单个 HTML 页面的 Web 应用程序,它在用户与应用程序交互时由 JavaScript 动态更新页面。其工作原理如图。

REST 是一种设计思想,它的核心是

文章来源:《电脑编程技巧与维护》 网址: http://www.dnbcjqywh.cn/zonghexinwen/2021/0210/671.html

上一篇:孩子通过学习编程,可以强化学习数学能力
下一篇:小学生学习编程

电脑编程技巧与维护投稿 | 电脑编程技巧与维护编辑部| 电脑编程技巧与维护版面费 | 电脑编程技巧与维护论文发表 | 电脑编程技巧与维护最新目录
Copyright © 2018 《电脑编程技巧与维护》杂志社 版权所有
投稿电话: 投稿邮箱: