前后端分离是什么

背景

  从经典的JSP+Servlet+JavaBean的MVC时代,到SSM(Spring + SpringMVC + Mybatis)和SSH(Spring + Struts + Hibernate)的Java 框架时代,

再到前端框架(KnockoutJS、AngularJS、vueJS、ReactJS)为主的MV*时代,然后是Nodejs引领的全栈时代,技术和架构一直都在进步。

前后端分离

优点:

前后端分离可以让浏览器分担服务器的压力

主要就是js给服务器url,然后服务器会返回给js数据,其中的接口全是url

服务器向js传输有两种方式:

1、字节流(数据传输的最小单位),传输文件、图片、音频、视频适用

一个java项目向另一个java项目请求数据的时候用字节流(分布式)

2、字符流(2字节为1单位的Uniclde)传输文本经常用

js和服务器之间通信用字符流,字节流跨语言行不通

序列化和反序列化

 将媒体文件转换为字符/字节的过程称为序列化,逆向为反序列化

常用的格式

1、xml格式

<List>
<user>
<id>1</id>
</user>
</List>

2、json格式

[{id:1}]

json格式是比较常用的,我们可以通过fastjson把数据转化成json格式

String str= JSONObject.toJSONString("其他格式的数据");

直接返回是有异常的,要经过以下3中方式中的一种进行处理:

1、返回类型直接void,然后通过response.getwriter().writer(str)写到js中

2、加注解@ResponseBody可以直接返回数据,返回值是String类型,但是到达js中是json类型

3、直接写一个@RestController,因为@ResponseBody会绕过@Controller,所以直接合并

原文地址:https://www.cnblogs.com/mvpmvp/p/13418513.html