【黑马点评配置篇】

黑马点评涉及功能:

项目配置(2026.3.11)

导入项目(常见问题)

主要出现在IDEA配置 上

主要检查JDK版本,maven,编码格式(UTF-8)

本人jdk版本是jdk17

maven版本

对项目导入主要进行的修改为

pom.xml

加了Spring Boot 父版本版本号(是springboot父版本,注意不要改错了)

java 复制代码
<version>2.7.18</version>

yaml文件

该文件主要进行了Redis,Mysql,mybatis-plus等配置

主要进行修改是是Redis,Mysql。我们可以通过ai来辅助我们查找到属于自己Redis: host,port以及Mysql:uesrname,password。

启动项目

启动前端项目

在终端输入start nginx.exe

会看到一个页面一闪而过,之后在浏览器输入http://localhost:8080/

出现页面即为启动成功。


1.短信登录

1.1业务实现功能流程图:

在实现登录业务时(session和JWT区分)

session和JWT是常见的两种实现方式

详细区分放在了下篇

https://blog.csdn.net/2501_92547326/article/details/158929148?fromshare=blogdetail&sharetype=blogdetail&sharerId=158929148&sharerefer=PC&sharesource=2501_92547326&sharefrom=from_link


1.2实现发送短信验证码功能

流程:

  1. 发送验证码
java 复制代码
@Slf4j
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {

    @Override
    public Result sendCode(String phone, HttpSession session) {
        //1.校验手机号
        if(RegexUtils.isPhoneInvalid(phone)){
            //2.如果不符合,返回错误信息
            return Result.fail("手机号格式错误!");
        }


        //3.符合,生成验证码
        String code = RandomUtil.randomNumbers(6);
        //4.保存验证码到session
        session.setAttribute("code",code);

        //5.发送验证码
        log.debug("发送短信验证码成功,验证码:{}", code);
        //返回ok
        return Result.ok();
    }
}

2.登录

java 复制代码
@Override
    public Result login(LoginFormDTO loginForm, HttpSession session) {
        
            // 1.校验手机号
            String phone = loginForm.getPhone();
            if (RegexUtils.isPhoneInvalid(phone)) {
                // 2.如果不符合,返回错误信息
                return Result.fail("手机号格式错误!");
            }
            // 3.校验验证码
            Object cacheCode = session.getAttribute("code");
            String code = loginForm.getCode();
            if(cacheCode == null || !cacheCode.toString().equals(code)){
                //3.不一致,报错
                return Result.fail("验证码错误");
            }
            //一致,根据手机号查询用户
            User user = query().eq("phone", phone).one();

            //5.判断用户是否存在
            if(user == null){
                //不存在,则创建
                user =  createUserWithPhone(phone);
            }
            //7.保存用户信息到session中
            session.setAttribute("user",user);

            return Result.ok();
    }

    private User createUserWithPhone(String phone) {
        //1.创建用户
        User user = new User();
        user.setPhone(phone);
        user.setNickName(USER_NICK_NAME_PREFIX+RandomUtil.randomNumbers(10));
        //2.保存用户
        save(user);
        return user;
    }
相关推荐
xixi092439 分钟前
JMeter5.6.3基础使用教程1
java·开发语言
带刺的坐椅40 分钟前
用 Solon ReActAgent 落地发票识别与智能报销
java·llm·solon·react-agent
罗超驿1 小时前
15.Java异常处理:从束手无策到从容应对
java·开发语言
半夜修仙1 小时前
RabbitMQ的推模式和拉模式
java·分布式·中间件·rabbitmq·github·java-rabbitmq
掉鱼的猫1 小时前
用 Solon ReActAgent 落地发票识别与智能报销
java·llm·agent
_kerneler1 小时前
cgroup :限制cpu原理
java·服务器·前端
唐青枫1 小时前
Java Jakarta Validation 实战指南:从参数校验到分组、自定义注解和全局异常处理
java
jvmind_dev2 小时前
第一章:AI Agent 如何重新定义 Java 性能分析
java·agent
从此以后自律2 小时前
Java 并发编程完整讲解
java·开发语言
Sylvia33.2 小时前
足球数据接口开发实战:如何用火星数据API盘活赛事应用
java·服务器·开发语言·数据库·python