黑马程序员_Java项目实战《苍穹外卖》_Day01_开发环境搭建
黑马程序员2023最新Java项目实战《苍穹外卖》,最适合新手的SpringBoot+SSM的企业级Java项目实战。项目视频
文章目录
前端环境搭建
前端工程基于 nginx 运行,项目主要面向后端开发人员,所以只需在本地搭建好前端环境即可。
-
下载“资料”压缩包,解压到无中文路径下的文件夹下,找到day01中的前端运行环境如下:
-
确保
nginx-1.20.2
目录在无中文目录下,进入资料\day01\前端运行环境\nginx-1.20.2
,双击nginx.exe
,正常启动后进入http://localhost/访问前端页面。
-
前端环境搭建完成
后段环境搭建
熟悉项目结构
后端工程基于 maven 进行项目构建,并且进行分模块开发。项目的目录结构如下:
各模块功能作用的说明:
使用Git进行版本控制
具体操作如下:
创建Git本地仓库(可以使用git命令,这里选择在IDEA里创建)
打开IDEA,找到工具栏的“VCS”中的“Create Git Repository”,选择当前项目的根目录结构sky_take_out
,点击OK
提交项目到本地,点击上方“✔” Commit…
全选中要提交的项目目录,添加描述信息,点击Commit提交到本地,若提示错误信息,不用理会提交即可。
提交成功
创建Git远程仓库(登录Gitee——https://gitee.com/)
创建新的仓库,复制仓库地址信息
将本地文件推送到Git远程仓库
回到IDEA,点击上方Push图标
粘贴仓库地址,将本地仓库与新建的远程仓库进行关联,然后点击Push
回到Gitee网页刷新即可看到新推送的项目代码
数据库环境搭建
通过数据库建表语句创建数据库结构:
在解压的资料\day01\数据库
下找到sky.sql
文件
通过数据库工具(如SQLyog)通过外部导入sky.sql
文件即可
- 注:如导入后出现中文字符乱码的情况,可以检查:
1.导入的sql文件字符集编码是否为utf8;
2.MySQL配置字符集编码是否为utf8;
3.建表建库的时候是否指定了其他字符集。
执行完成后,可见如下表结构,共11张表
前后端联调
后端的初始工程中已经实现了登录功能,直接进行前后端联调测试即可。
启动后端环境(注意.yml配置文件中数据库密码与本机设置一致):
启动前端环境(nginx.exe):
输入账号密码(账号:admin;密码:123456)进行登录:
完善登录功能
问题:员工表中的密码是明文存储的,安全性太低
解决:使用MD5加密方式将密码加密后存储
- 修改数据库中的明文密码,改为MD5加密后的密文
- 修改sky-server/src/main/java/com/sky/controller/admin/EmployeeServiceImpl 实现类中的用户登录逻辑代码,调用
DigestUtils
的md5DigestAsHex()
方法将前端提交的密码进行 MD5 加密:
//对前端传过来的明文密码进行md5加密处理
password = DigestUtils.md5DigestAsHex(password.getBytes());
if (!password.equals(employee.getPassword())) {
//密码错误
throw new PasswordErrorException(MessageConstant.PASSWORD_ERROR);
}
至此,该项目的开发环境搭建完成。