前后端分离

前后端分离————VUE+node(express)

荒凉一梦 提交于 2019-12-01 07:05:25
前后端分离————VUE+node(express) vue作为前端的框架,node(express)作为后端的框架。无数据库,使用端口保存数据。 VUE: 使用vue-cli构建vue项目(vueapp)。 npm install -g vue-cli(安装,安装过的就不用了) vue init webpack vueapp axios:(与ajax相似) import axios from 'axios' var url="http://localhost:3000" //express服务器的地址 axios.get(url+'/product') //放数据的接口 .then(function (response) { //收到的数据 console.log(response); console.log(response.data); //展示数据(看看是否拿到,和数据长啥样) var nodeData=response.data; }) .catch(function (error) { console.log(error);![在这里插入图片描述](https://img-blog.csdnimg.cn/20191013132943460.jpg) }); axios没安装的记得装一下。(安装不细说) node(express): 启动>>>npm start

关于对前后端分离的理解

社会主义新天地 提交于 2019-12-01 06:29:18
最近开始实习,公司用的都是前后端分离的架构,自己在学校学习的时候真的是对这方面了解太少了,所以开一篇博客来记录一下自己学前后端分离的过程。 什么是前后端分离和为什么要前后端分离 首先要理解前后端分离,得先理解前端和后端的含义。以前我是这么认为的,像html,css,js,jq包括UI之类的就是前端的工作,而后端则是提供前端需要获取的数据的接口。如果是像这样的理解的话,以前那样用jsp进行开发的模式(这里以java为例),就会产生一个问题,因为jsp它是用jsp标签在html页面中插入java代码,而java代码是由后端开发人员进行编写,而jsp中的那些html代码,又是前端人员编写,在开发的过程中,会出现后端人员必须要等待前端人员的页面编写完成后再进行进一步的开发。而还有一个更严重的问题是,在调试过程中也非常不方便,前端人员要对着jsp,看着那一串又一串的java代码进行调试,而后端人员同样也要对着html代码进行调试,增加了开发人员的学习成本,最直接的结果就很容易产生前后端开发人员的互怼,因为不好直接看出是前端还是后端出了问题 为了解决这一问题,就出现了前后端分离这一开发模式。什么是前后端分离,简单来说,就是前端和后端分为两个工程,后端就是去实现业务逻辑,提供前端所需要的API接口。而前端就调用后端提供的接口,实现前端页面的交互逻辑,运用nodejs或者ajax进行交互。

理解前后端分离

寵の児 提交于 2019-12-01 06:27:36
目录 理解前后端分离 为什么要做前后端分离,它到底有什么好处? 实现的一些表现 RESTful风格的API 理解前后端分离 为什么要做前后端分离,它到底有什么好处? 前后端的分离也实现了前后端架构的分离,带来的好处有: 整个项目的开发权重往前移,实现真正的前后端解藕,动态资源和静态资源分离,提高了性能和扩展性。 前端静态化 前端有且仅有静态内容,再明确些,只有HTML/CSS/JS。 其内容来自于完全静态的资源而不需要任何后台技术进行动态化组装。 前端内容的运行环境和引擎完全基于浏览器本身。 后端数据化 后端可以用任何语言,技术和平台实现。 遵循一个原则:只提供数据,不提供任何和界面表现有关的内容。 统一API接口,接口完全可以共用。 提供的数据可以用于任何其他客户端(如IOS,安卓,PC,微信小程序等)。 通过一些代码重构,就可以大量复用接口,提升效率。 平台无关化 前端3大技术(HTML/CSS/JS)本身就是平台无关的。 后台连接部分的本质是实现合适的RESTful接口和交互Json数据,就这2者而言,任何技术和平台都可以实现。 前后端交给不同的人来编写,明确划分职责,发现bug的时候可以快速定位。 vue.js等框架编写前端时,会比之前写jquery更简单快捷。 架构分离化 前端架构完全基于HTML/CSS的发展和JS框架的演变,由于前台是纯静态内容

前后端分离session不一致问题

℡╲_俬逩灬. 提交于 2019-11-30 22:03:11
前端VUE.js 后端SSM 问题描述: 该项目的登录先由后台生成一验证码返回给前端,并保存在session中,不过当前端登录时,后台会报 NullPointerException,看前端的请求头才发现前端的请求中并没有携带cookie信息,而且会发生几次请求; 开始我们以为这就是经典的跨域问题,然后我就去了解了跨域 什么是跨域 浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是 跨域 域名:   主域名不同: http://www.baidu.com/index.html –>http://www.sina.com/test.js  子域名不同: http://www.666.baidu.com/index.html –>http://www.555.baidu.com/test.js   域名和域名ip: http://www.baidu.com/index.html –>http://180.149.132.47/test.js 端口:http://www.baidu.com:8080/index.http->http://www.baidu.com:8081/test.js 协议:http://www.baidu.com:8080/index.html–> https://www.baidu.com:8080/test.js 备注:   1.

第一章 Django Rest Framework初识

删除回忆录丶 提交于 2019-11-30 12:19:48
一、Django Rest Framework介绍   Django Rest Framework(简称DRF),是一个用于构建web API的强大且灵活的工具包。   作用:主要实现前后端分离,方便提供接口API开发,并遵从了REST API的标准规范   REST 是一种Web API设计标准,是目前比较成熟的一套互联网应用程序的API设计理论。 二、前后端分离框架 三、为什么要前后端分离 来源: https://www.cnblogs.com/zhangqigao/p/11584486.html

前后端分离-为什么分离

泄露秘密 提交于 2019-11-29 05:23:40
What? 什么是前后端分离?一般我们所说的前后端分离都是说开发模式的前后端分离,部署一般也是分离的。 现在我所知道的常见的开发模式有: 传统的MCV模式:前端写html,后端套界面,转成jsp或者像freemarker,velocity,beetl(国产值得推荐)这类模板引擎。部署在一起或者动静态分离部署。 前后端分离的开发模式:前端写html5,js,css3+前端MVC模式(backbone或者angular框架都不错)+后端restful数据接口。 常见的前后端分离的例子就是SPA(Single-page application),所有用到的展现数据都是后端通过异步接口(AJAX/JSONP)的方式提供的,前端只管展现。 Why? 为什么我们需要前后端分离? 关于这个问题,玉伯的文章 Web研发模式演变 中解释得非常全面,再大概理一下: 1 现有开发模式的适用场景 玉伯提到的几种开发模式,各有各的适用场景,没有哪一种完全取代另外一种。 比如后端为主的MVC,做一些同步展现的业务效率很高,但是遇到同步异步结合的页面,与后端开发沟通起来就会比较麻烦。 Ajax为主SPA型开发模式,比较适合开发APP类型的场景,但是只适合做APP,因为SEO等问题不好解决,对于很多类型的系统,这种开发方式也过重。 2 前后端职责不清 在业务逻辑复杂的系统里,我们最怕维护前后端混杂在一起的代码

Web前后端分离

£可爱£侵袭症+ 提交于 2019-11-28 19:44:44
第一篇博客:见谅 用自己的通俗语言讲web工程的前后端分离: 只是从自己的角度去分析,我眼中的前后端分离(可能不对) 首先要明白我们服务器和浏览器之前传输和接受的是什么: 静态文件(html,css,js 等格式这样的文件) 就如同,你的浏览器能够直接打开桌面text文档,html文件和图片的文件 这就是问题关键,我们所谓的动态页面,是在浏览器接受了这些html 、css 和 js之后 ,浏览器(内核)去解析这些文件建并加载 然后动态的效果和渲染就出来了,所有的渲染和特效,是在客户端完成。 这里引用网上其他地方对servlet和jsp的关系来更加讲解这一点: Servlet是一个特殊的Java程序,它运行于服务器的JVM中,能够依靠服务器的支持向浏览器提供显示内容。JSP本质上是Servlet的一种简易形式,JSP会被服务器处理成一个类似于Servlet的Java程序,可以简化页面内容的生成。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。有人说,Servlet就是在Java中写HTML,而JSP就是在HTML中写Java代码,当然这个说法是很片面且不够准确的。JSP侧重于视图,Servlet更侧重于控制逻辑,在MVC架构模式中

浅谈WEB前后端分离

房东的猫 提交于 2019-11-28 19:44:30
重审业务逻辑 用过MVC的童鞋都知道 业务逻辑(Bussiness Logic) ,但是大多对这概念又是模棱两可,业务逻辑从来都是这样难以理解,谈论前后端分离之前这个概念非常有必要探讨一下!   在简单的CRUD的系统中,基本上都是对数据进行增删改查操作,并没有多少业务逻辑可言;但像银行系统对金融数据的操作就显得不那么简单了,以转账为例:A给B转帐转100元,简易代码如下: if(A.balance - 100 >= 0){ A.balance -100; B.balance +100; }else{ //返回异常信息 }   这串代码已经不仅仅是对数据的增删改查了,它包含了一些业务规则,比如A的余额如果少于100,这个代码会返回异常信息提示"余额不足",类似于这种,一组和特定领域业务相关而又不可拆分的代码,可以看作业务逻辑的实现。所以转账是作为一部个不可拆分的整体提供给用户的,也就是说Business层是不可能给你提供一个"A.余额+x"这种接口的,如果你想转账,请用转账方法,方法里面怎么对数据操作,你无需关心,你也没法关心。 ===== 这里注意强调一下:页面/渲染逻辑和业务逻辑的区别,页面通常需要多个数据用来展示,比如网上银行界面即显示用户名、余额和转账记录等,这些信息的组合称作页面/渲染/展示逻辑,并不等于业务逻辑,业务逻辑只应提供基本的业务数据而不应该和页面逻辑掺和起来

关于Web实现前后端分离,前后端解耦

十年热恋 提交于 2019-11-28 19:44:17
一、前言 ”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦。并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。 前后端分离(解耦)的核心思想是:前端Html页面通过Ajax调用后端的RestFul API并使用Json数据进行交互。 注:【在互联网架构中,web服务器:一般指像nginx,apache这类的服务器,他们一般只能解析静态资源。 应用服务器:一般指像tomcat,jetty,resin这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好。】 一般只有Web服务器才能被外网访问,应用服务器只能内网访问。 二、为什么前后端分离 一般公司后端开发人员直接兼顾前端的工作,一边实现API接口,一边开发页面,两者互相切换着做,而且根据不同的url动态拼接页面,这也导致后台的开发压力大大增加。前后端工作分配不均。不仅仅开发效率慢,而且代码难以维护。 而前后端分离的话,则可以很好的解决前后端分工不均的问题,将更多的交互逻辑分配给前端来处理,而后端则可以专注于其本职工作,比如提供API接口,进行权限控制以及进行运算工作。而前端开发人员则可以利用nodejs来搭建自己的本地服务器