个人博客系统 -- 登录页面添加图片验证码

目录

1. 功能展示

2. 前段代码

3. 后端代码


个人博客系统 -- 登录页面添加图片验证码_第1张图片

1. 功能展示

在登录页面添加验证码登录

1. 检测到没有输入验证码或者输入的验证码错误时,进行弹窗提示.并且刷新当前验证码图片

2. 点击验证码进行刷新

个人博客系统 -- 登录页面添加图片验证码_第2张图片

 个人博客系统 -- 登录页面添加图片验证码_第3张图片

个人博客系统 -- 登录页面添加图片验证码_第4张图片

2. 前段代码

1. 添加验证码标签,在密码的下面,在login.html进行修改

主要改动如下:

个人博客系统 -- 登录页面添加图片验证码_第5张图片

2. 在提交的函数中加入验证码的信息 

个人博客系统 -- 登录页面添加图片验证码_第6张图片

3. 构造Ajax请求的时候,将验证码也插入到后端,并且判断后端的返回值,当code为-1的时候,表示验证码输入错误. 

个人博客系统 -- 登录页面添加图片验证码_第7张图片

 完整的login.html 如下所示:





    
    
    
    登陆页面
    
    
    
    



    
    
    
    
    


3. 后端代码

 我们使用hutool框架进行实现后端验证码的构造

1. 在pom.xml引入hutool的环境依赖


			cn.hutool
			hutool-all
			5.1.0
		

2. 在Usercontroller.java 中进行添加代码

先实例化LineCaptcha对象,用来获取验证码,同时获取日志对象,在控制台打印验证码日志.

 在usercontroller中添加下述代码,用来产生随机数字验证码

/**
     * 生成验证码
     * @param response
     */
    @RequestMapping("/captcha")
    public void captcha(HttpServletResponse response) {
        // 随机生成 4 位验证码
        RandomGenerator randomGenerator = new RandomGenerator("0123456789", 4);
        // 定义图片的显示大小
        lineCaptcha = CaptchaUtil.createLineCaptcha(100, 30);
        response.setContentType("image/jpeg");
        response.setHeader("Pragma", "No-cache");
        try {
            // 调用父类的 setGenerator() 方法,设置验证码的类型
            lineCaptcha.setGenerator(randomGenerator);
            // 输出到页面
            lineCaptcha.write(response.getOutputStream());
            // 打印日志
            logger.info("生成的验证码:{}", lineCaptcha.getCode());
            // 关闭流
            response.getOutputStream().close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

3. 登录中添加验证码的验证 

个人博客系统 -- 登录页面添加图片验证码_第8张图片

 个人博客系统 -- 登录页面添加图片验证码_第9张图片

你可能感兴趣的:(Java项目-博客系统,java,mybatis,spring)