java 实现前后端分离_详解前后端分离之Java后端

前后端分离的思想由来已久,不妨尝试一下,从上手开始,先把代码写出来再究细节。

前言

以前服务端为什么能识别用户呢?对,是session,每个session都存在服务端,浏览器每次请求都带着sessionId(就是一个字符串),于是服务器根据这个sessionId就知道是哪个用户了。

那么问题来了,用户很多时,服务器压力很大,如果采用分布式存储session,又可能会出现不同步问题,那么前后端分离就很好的解决了这个问题。

前后端分离思想:

在用户第一次登录成功后,服务端返回一个token回来,这个token是根据userId进行加密的,密钥只有服务器知道,然后浏览器每次请求都把这个token放在Header里请求,这样服务器只需进行简单的解密就知道是哪个用户了。这样服务器就能专心处理业务,用户多了就加机器。当然,如果非要讨论安全性,那又有说不完的话题了。

下面通过SpringBoot框架搭建一个后台,进行token构建。

构建springboot项目

我的目录结构:(结果未按标准书写,仅作说明)

java 实现前后端分离_详解前后端分离之Java后端_第1张图片

不管用什么IDE,最后我们只看pom.xml里的依赖:

为了尽可能简单,就不连数据库了,登陆时用固定的。

devtools:用于修改代码后自动重启;

org.springframework.boot

spring-boot-starter-parent

1.5.2.RELEASE

UTF-8

UTF-8

1.8

org.springframework.boot

spring-boot-starter-web

io.jsonwebtoken

jjwt

0.6.0

org.springframework.boot

spring-boot-devtools

true

org.springframework.boot

spring-boot-starter-test

test

登录

这里的加密密钥是:base64EncodedSec

你可能感兴趣的:(java,实现前后端分离)