1. 项目概述
黑马点评是一个典型的互联网点评类项目,其短信登录模块作为用户系统的核心功能,涉及到前后端交互、数据存储、安全校验等多个技术环节。本文将详细拆解从项目导入到完整实现短信登录的全过程,重点分析基于Session和Redis两种方案的实现逻辑与优化思路。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与项目导入
2.1 后端项目配置
2.1.1 源码导入与基础配置
使用IntelliJ IDEA导入项目时,需注意以下几点:
- 选择"File -> New -> Project from Existing Sources"
- 定位到项目pom.xml所在目录
- 确保Maven依赖正确加载(右下角进度条完成)
常见问题:若依赖下载失败,可尝试:
- 检查Maven配置的镜像源
- 删除本地仓库中对应依赖目录后重新加载
- 使用
mvn clean install手动构建
2.1.2 关键配置文件修改
application.yml需要根据实际环境调整以下配置:
yaml复制server:
port: 8081 # 服务端口号
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/hmdp?useSSL=false&serverTimezone=UTC
username: your_username # 实际数据库用户名
password: your_password # 实际数据库密码
redis:
host: 192.168.1.100 # Redis服务器地址
port: 6379
password: redis_password # Redis访问密码
配置要点说明:
- 数据库连接需确保时区设置(serverTimezone=UTC)
- Redis连接池参数根据预估并发量调整
- 生产环境建议开启SSL加密连接
2.1.3 JDK版本管理
项目要求JDK1.8环境,需在以下两处确认:
- Project Structure -> Project SDK
- Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler
版本不一致可能导致Lombok注解失效等编译问题
2.2 前端项目部署
前端采用Nginx部署,关键步骤:
- 将打包好的静态资源放入全英文路径目录
- 启动Nginx服务(Windows环境直接执行nginx.exe)
- 访问http://localhost:8080验证
常见问题排查:
- 中文路径导致资源加载失败 → 确保路径无中文字符
- 端口冲突 → 修改nginx.conf中的listen端口
- 跨域问题 → 检查后端接口地址配置
3. 基于Session的登录实现
3.1 短信验证码发送
3.1.1 核心业务流程
- 手机号格式校验(正则表达式)
- 生成6位随机数字验证码
- 验证码存入Session
- 模拟发送验证码(实际项目需对接短信平台)
关键代码实现:
java复制public Result sendCode(String phone, HttpSession session) {
// 手
