昆明高端网站建设

云南网站建设专家:Web已实现前后端分离

2019-07-16 11:21:32 595
云南网站建设专家作者:山河非常广阔 资料来源:

I.前言

“前端和后端的分离”已成为互联网项目发展的行业标杆,并通过Tomcat + Ngnix(和中间的一个)有效地分离。并且前端和后端的分离将为未来的大规模分布式架构,灵活的计算架构,微服务架构,多用途服务(多个客户端,如浏览器,汽车终端,Android)奠定坚实的基础,IOS等)。

前端分离的核心思想是前端Html页面通过Ajax从后端调用RestFul API并与Json数据交互。

注意:[在Internet体系结构中,Web服务器:通常指的是像nginx,apache这样的服务器,通常它们只能解析静态资源。应用服务器:通常,tomcat,jetty和resin等服务器可以解析动态资源并解析静态资源,但解析静态资源的能力不如Web服务器。 】

通常,只能通过外部网络访问Web服务器,并且应用程序服务器只能访问Intranet。

第二,为什么前后端分开?

该公司的后端开发人员通常直接考虑前端工作,同时实现API接口,在开发页面时,两者相互切换,并根据不同的URL动态拼接页面,这也导致背景发展压力显着增加。前后工作分布不均匀。不仅开发速度慢,而且代码难以维护。

如果前端和后端分开,可以很好地解决前后工作分配不均的问题,并且可以将更多的交互逻辑分配给前端进行处理,而最终可以关注您自己的工作,例如提供用于权限控制的API接口。并执行算术工作。前端的开发人员可以使用的NodeJS建立自己的本地服务器,直接在房屋开发,然后通过发送一些加载项,资助API请求,这样就行了场景完全可以和解除模拟基金前端可以独立完成与用户交互的全过程,既可以同时启动,又不依赖,更有效地开发,分工更均衡。

第三,将MVC分离到前端和后端

MVC是一种经典的设计模式,全名是Model-View-Controller,它是模型 - 视图 - 控制器。

其中,该模型是封装数据的载体。例如,在Java中,它通常由简单的POJO(简单的普通Java对象)表示。它的本质是一个普通的Java Bean,它包含一系列成员变量及其传感器/Setter方法。为一个视图,更侧重于显示,即该视图来确定接口是如何在Java中,它可被用作在JSP的Java的视图或可以以纯的HTML,这是目前的主流来表示。控制器必须粘贴模型和视图。例如,用户发送HTTP请求,此时请求首先进入控制器,然后控制器检索数据并将其封装在模型中,最后将模型传递给视图。显示它

总之,MVC交互过程如下图所示:

也就是说,我们输入的是请求AJAX,JSON数据输出的是,市面上有这样的技术来实现这个功能吗?答案是REST。

全称是REST具象状态传输(表述性状态转移),它是在2000罗伊菲尔丁博士年写的一篇关于软件架构风格的论文,此文一出,威震四方!国内外许多知名互联网公司纷纷开始采用这种轻量级的网络服务,大家习惯将其称为RESTful Web服务,REST服务或简称。

如果将浏览器这一端视为前端,而服务器那一端视为后端的话,可以将以上改进后的MVC模式简化为以下前后端分离模式:

可见,有了REST服务,前端关注界面展现,后端关注业务逻辑,分工明确,职责清晰。

四,认识Rest架构

REST本质上是使用URL来访问资源种方式众所周知,URL就是我们平常使用的请求地址了,其中包括两部分,请求方式与请求路径,比较常见的请求方式是GET与POST,但在REST中又提出了几种其它类型的请求方式,汇总起来有六种:GET,POST,PUT,DELETE,HEAD,OPTIONS

XX 特别是前四个与CRUD(Create-Retrieve-Update-Delete)完全相同,例如GET,POST,PUT,DELETE,这正是REST和CRUD的全部内容!应该强调的是,REST是“面向资源的”。这里提到的资源实际上是我们通常所说的域对象。在系统设计过程中,我们经常使用域对象来建模数据。

REST是一种“无状态”架构模式,因为客户端可以随时向服务器发出请求并最终返回他想要的数据,当前请求不会受到上一个请求的影响。换句话说,服务器发布REST服务的内部资源,客户端通过URL访问这些资源。这不是SOA倡导的“服务导向”理念吗?因此,REST也被认为是一种“轻型”SOA实现技术,因此它被广泛应用于业务应用程序和Internet应用程序中。

下面我们举几个例子对 REST 请求进行简单描述:

云南网站建设专家 您可以看到请求路径相同,但请求模式不同,服务所代表的服务操作也不同。例如,/advertiser/1请求有三种不同的请求模式:GET,PUT和DELETE,对应于三种不同的服务操作。

虽然REST看起来还是很简单的,实际上我们往往需要提供一个框架REST,让其实现前后端分离架构,让开发人员将精力集中在业务上,而并非那些具体的技术细节。

五,前后端分离意义大吗?

1该网站前端变化远比后端变化频繁,则意义大。

2该网站尚处于原始开发模式,数据逻辑与表现逻辑混杂不清,则意义大。

3该网站前端团队和后端团队分属两个领导班子,技能点差异很大,则意义大。

4该网站前端效果绚丽/跨设备兼容要求高,则意义大。

六,术业有专攻(开发人员分离)

以前的项目大多数都是的java的JavaWeb程序员又当爹又当妈,又搞前端(AJAX/jquery的/JS/HTML/CSS等等),又搞后端(爪哇/MySQL的/oracle的等等)。

随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只管前端的事情,后端工程师只管后端的事情。

正所谓术业有专攻,一个人如果什么都会,那么他毕竟什么都不精。

大中型公司需要专业人才,小公司需要全才,但是对于个人职业发展来说,我建议是分开。

对于后端java工程师:

XX 专注于java中,设计模式,JVM原理,原则和源弹簧用SpringMVC +,LINUX,锁定机构和隔离MySQL的交易,mongodb的,HTTP/TCP,多线程,分布式体系结构(多宝,dubbox代码的基础知识,春云),灵活的计算架构,架构microservicio(动物园管理员springboot + + +詹金斯泊坞窗),Java性能优化和项目管理有关。

后端追求:高(高并发,高可用性,高性能),安全性,存储,业务等。

对于前工程师:

专注于HTML5,CSS3和jQuery,AngularJS,引导,reactjs,vuejs,的WebPack,少/上海社会科学院,咕嘟咕嘟的NodeJS,谷歌的V8引擎,多线程JavaScript的,模块化的,面向脸,设计模式,浏览器兼容性计划,性能优化等等。

用户界面追求:页面性能,速度,兼容性,用户体验等。

七,正在交配。

当它是,我们的JavaWeb项目中使用几帧的背景下,用SpringMVC /支柱+弹簧+弹簧JDBC /休眠/MyBatis的等等。

大多数项目都分为三个层次在Java后端,控制层(控制器/动作),业务层(服务/管理),持久层(DAO)。

控制层负责接收参数,调用相关业务层,封装数据以及路由和表示jsp页面。

云南网站建设专家 然后在页面jsp上使用几个标签(jstl/the/struts标签等)或手写Java表达式(>%=%

您有昆明网站建设建站需求?即刻联系我们吧!

联系我们
联系电话 400-6065-301

微信咨询 寒总监