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

这篇具有很好参考价值的文章主要介绍了个人博客系统 -- 登录页面添加图片验证码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 功能展示

2. 前段代码

3. 后端代码


个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

1. 功能展示

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

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

2. 点击验证码进行刷新

个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

 个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

2. 前段代码

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

主要改动如下:

个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

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

个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

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

个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

 完整的login.html 如下所示:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>登陆页面</title>
    <link rel="stylesheet" href="css/conmmon.css">
    <link rel="stylesheet" href="css/login.css">
    <!-- 引入jQuery -->
    <script src="js/jquery.min.js"></script>
</head>

<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="img/logo2.jpg" alt="">
        <span class="title">我的博客系统</span>
        <!-- 用来占据中间位置 -->
        <span class="spacer"></span>
        <a href="blog_list.html">主页</a>
        <a href="blog_edit.html">写博客</a>
        <a href="reg.html">注册</a>
        <!-- <a href="#">注销</a> -->
    </div>
    <!-- 版心 -->
    <div class="login-container">
        <!-- 中间的登陆框 -->
        <div class="login-dialog">
            <h3>登&nbsp;&nbsp;录</h3>
            <div class="row">
                <span>用户名</span>
                <input type="text" id="username">
            </div>
            <div class="row">
                <span>密&nbsp;&nbsp;&nbsp;&nbsp;码</span>
                <input type="password" id="password">
            </div>
            <div class="row">
                <span>验证码</span>
                <input type="text" id="captcha">
              
            </div>
            <div class="row">
                <img id="captchaImg" src="/user/captcha" onclick="refresh()" alt="Captcha">
            </div>
            
            <div class="row">
                <button id="submit" onclick="mysub()">提交</button>
            </div>
        </div>
        
    </div>
    <script>
        function mysub(){
            // 1. 非空校验
            // 页面加载时生成验证码
            // 点击验证码图片时刷新验证码
            
            var username = jQuery("#username");
            var password = jQuery("#password");
            var captcha = jQuery("#captcha");
            if(username.val() == ""){
                alert("请输入用户名!");
                username.focus();
                return;
            }
            if(password.val() == ""){
                alert("请输入密码!");
                password.focus();
                return;
            }
            if(captcha.val() == ""){
                alert("请输入验证码!");
                captcha.focus();
                refresh();
                return;
            }
            // 2. 构造ajax请求
            jQuery.ajax({
                url:"/user/login",
                type:"post",
                data:{"username":username.val(),"password":password.val(),"captcha":captcha.val()},
                success: function(result){
                    if(result != null && result.code == 200 && result.data != null){
                        // 执行成功 
                        location.href="/myblog_list.html";
                    }
                    else if(result != null && result.code == -1){
                        // 验证码输入错误
                        alert("验证码输入错误,请重新输入!");
                        refresh();
                    }else{
                        alert("用户名或密码错误,请重新登录!");
                    }
                }
            })
        }

        
        function refresh() {
            document.getElementById("captchaImg").src = "/user/captcha?time=" + new Date().getTime();
        }
        
    </script>
</body>

</html>

3. 后端代码

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

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

<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>5.1.0</version>
		</dependency>

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

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

个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

 在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. 登录中添加验证码的验证 

个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring

 个人博客系统 -- 登录页面添加图片验证码,Java项目-博客系统,java,mybatis,spring文章来源地址https://www.toymoban.com/news/detail-611632.html

到了这里,关于个人博客系统 -- 登录页面添加图片验证码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【个人博客系统网站】我的博客列表页 · 增删改我的博文 · 退出登录 · 博客详情页 · 多线程应用

    【个人博客系统网站】我的博客列表页 · 增删改我的博文 · 退出登录 · 博客详情页 · 多线程应用

    【JavaEE】进阶 · 个人博客系统(4) 用户在网页中编写标题和正文,点击提交,选择 输入摘要 取消,继续编写文章 提交成功后,选择 继续写文章 返回“我的博客列表页” 1.1 约定前后端交互接口 后端: /art/publish 将前端传递过来的数据保存到数据库 返回受影响行数 前端:

    2024年02月10日
    浏览(32)
  • 博客系统后端设计(五) - 实现登录页面功能

    博客系统后端设计(五) - 实现登录页面功能

    这里约定 请求 是一个 POST 请求,路径是 /login ,使用的是以下的格式: usernam=zhangsanpassword=123 响应是 HTTP/1.1 302 ,因为在成功登录之后,会直接跳转到列表页, 因此此时的 Location 是 blog.list.html 。 此时的响应要求是 302,因此要使用 form 表单才可以进行页面的跳转; 如果是

    2024年02月05日
    浏览(19)
  • 基于java的个人博客系统设计与实现

    基于java的个人博客系统设计与实现 研究背景: 在互联网和信息技术快速发展的时代,人们对于信息交流和知识分享的需求越来越大。个人博客作为一种自由、开放、个性化的信息发布平台,受到了广泛的关注和青睐。个人博客系统的设计和实现也成为了计算机领域中的一个

    2024年02月04日
    浏览(16)
  • Java Web课设——个人博客(双端系统)

    Java Web课设——个人博客(双端系统)

    先看看演示视频吧 演示图         个人博客管理系统采用Springboot2.4.5框架开发,是标准的MVC模式,将这个系统划分为View层、Controller层、Service层、DAO层和持久层五层。其中,Spring MVC负责请求的转发和视图管理,Spring实现业务对象管理,MyBatis-Plus作为数据对象的持久化引擎

    2024年02月02日
    浏览(9)
  • HTML设计个人博客页面

    以下是一个简单的HTML代码示例,用于创建一个具有学术风格的个人博客主页: 在这个示例中,我们首先使用meta标签设置页面的字符集和视口大小。然后,我们导入了Google字体“Lato”,并定义了一些基本的样式,包括背景色、字体、字号、行高和颜色。 页面主体包括一个名

    2024年02月06日
    浏览(9)
  • 个人博客-给推荐文章添加排序字段

    个人博客-给推荐文章添加排序字段

    前篇文章优化了推荐文章的加载,但是呢,还是不太满意,之前是按照文章的发布日期去排序的,既然是推荐文章,还是得用一个字段去专门管理顺序。 设计思路: 给推荐文章表添加一个排序字段,然后写一个修改方法即可。 这里的数据类型以sqlite3为例。 字段名 类型 解释

    2024年02月10日
    浏览(11)
  • 基于java个人博客系统(springboot框架)开题答辩常规问题和如何回答

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年01月18日
    浏览(11)
  • .NET 个人博客-添加RSS订阅功能

    .NET 个人博客-添加RSS订阅功能

    个人博客系列已经完成了 留言板 文章归档 推荐文章优化 推荐文章排序 博客地址:https://pljzy.top 然后博客开源的原作者也是百忙之中添加了一个名为 RSS订阅 的功能,那么我就来简述一下这个功能是干嘛的,然后照葫芦画瓢实现一下。 来自 chatGPT 的回答 网站的RSS订阅是一种

    2024年02月11日
    浏览(13)
  • .NET 个人博客-给文章添加上标签

    .NET 个人博客-给文章添加上标签

    置顶3个且可滚动或切换 推荐改为4个,然后新增历史文章,将推荐的加载更多放入历史文章,按文章发布时间降序排列。 标签功能,可以为文章贴上标签 推荐点赞功能 本篇文章实现文章标签功能 首先需要新增一个标签类Tag,然后Post文章类和Tag标签类的关系是多对多的关系。

    2024年02月12日
    浏览(26)
  • 还在愁个人博客没有图片放??

    还在愁个人博客没有图片放??

    之前将爬取的图片下载后,我也是放到我了我的博客上面 ZY知识库 · ZY - Home Page (pljzy.top) 然后顺便写了一个随机返回图片的接口,现在我就来说一下如何使用这个接口,以便在自己的博客上使用。 就2个接口,也是很简单,目前这个项目有3000张图片,用在博客上肯定是够的。

    2024年02月07日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包