目录
- 一、项目介绍
- 二、环境搭建
- 1、web管理端前端部署
- 2、后端环境搭建
- 3、数据库搭建
- 4、前后端联调
- 5、导入接口文档
- 三、完善登录功能
- 四、学习知识
- 1、前端发送的请求,是如何请求到后端服务的?
一、项目介绍
二、环境搭建
由于本项目主要点在于学习后端开发,所以前端环境,部分页面都是直接导入的方式,不用过分去研究学习。
并且前端后端都有相对应的初始工程,已经存在部分常用的功能和模块,并非从0开始。
1、web管理端前端部署
首先开发管理端(web)的前端部分,主要将前端工程基于nginx运行。
前面商城系统,已经有很多nginx的相关操作就不多描述,直接将资料文件nginx导出。
启动ngnix,访问本地端口80就表示前端部署完成。
2、后端环境搭建
后端工程基于maven进行项目构建,并进行分模块开发
可以大致看一下项目模块说明:
3、数据库搭建
因为本项目核心同样是后端部分,所以数据库也直接通过初始工程生成。
大致浏览表结果信息
4、前后端联调
把数据库账号密码等修改为自己数据库的信息
启动后端
前端点击登录进入管理端页面
5、导入接口文档
在整个项目开发中,接口的定义十分重要
大部分开发都是通过接口开发文档,一步一步接口设计出来,这里介绍一个接口管理维护工具Yapi
同样我们需要一个对当前应用进行在线接口调试测试,这里采用swagger
swagger使用方法:
配置完成后,我们直接请求swagger的配置接口文档,可以看到当前contoller下已经写完的接口
swagger常用注解
例如:将相关api放到相应位置就可以了
可以看到接口文档拥有了部分注解提示
三、完善登录功能
解决方式:
修改后端,登录验证,秘密比对部分的代码,将输入的password进行md5加密,在与数据库中已经加密保存的密文相比较
//密码比对
//进行md5加密,然后再进行比对
password = DigestUtils.md5DigestAsHex(password.getBytes());
if (!password.equals(employee.getPassword())) {
//密码错误
throw new PasswordErrorException(MessageConstant.PASSWORD_ERROR);
}
if (employee.getStatus() == StatusConstant.DISABLE) {
//账号被锁定
throw new AccountLockedException(MessageConstant.ACCOUNT_LOCKED);
}
四、学习知识
1、前端发送的请求,是如何请求到后端服务的?
前端发送的请求
实际后端需要的请求
请求接口和实际后端数据请求接口是完全不同的,但数据是怎样获取到的呢?
解决这一问题的主要东西,就是前面前端部署的nginx,nginx有个很重要的功能反向代理
那为什么我们需要通过nginx转发,不直接向后端发送同一个请求呢?
现在我们来看一下nginx的具体配置方式: