在很多网站尤其是登录的时候,我们经常可以看到需要我们输入图片二维码,那图片二维码是如何生成的呢?点击图片我们是如何刷新二维码的呢?话不多说,直接开干

一、首先理解浏览器/服务器之间的通讯流程

二、导入依赖

创建一个基本的SpringBoot项目、然后导入hutool工具类依赖

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-captcha</artifactId><version>5.8.5</version>
</dependency>

当然hutool还有很多很好用的功能,具体可移步官网

三、实现

后端【Controller】

@RestController
@RequestMapping("/test")
public class TestController {@GetMapping("/getUrl")public void getUrl(HttpServletResponse response) throws IOException {// 宽 高 验证码长度 圆圈数(就是验证码图片上用来干扰视线的圆圈)CircleCaptcha circleCaptcha = CaptchaUtil.createCircleCaptcha(200, 150, 4, 5);//当然也可以使用划横线的图片二维码 //CaptchaUtil.createLineCaptcha( ) 这个就根据自己的需求去定制//拿到验证码  我们可以将验证码存入 session或者redis中 这里就不演示了String code = circleCaptcha.getCode();//将图片二进制输入写入 响应体response中circleCaptcha.write(response.getOutputStream());}}

前端【index.html页面】

<!DOCTYPE html>
<img lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head><img src="/test/getUrl"></body>
</html>

四、实现 “点击图片二维码刷新 ”

在img标签上加上一个点击事件,然后刷新src,在src中我们每次都加入一个新的时间戳,这样我们每次点击都能拿到新的src连接

<!DOCTYPE html>
<img lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<img src="/test/getUrl" id="captcha" onclick="getNewCode()">
</body>
<script>const getNewCode=function () {document.getElementById("captcha").src="/test/getUrl?time="+new Date().getTime();}</script>
</html>

五、测试最终效果

六、后记

就是这么简单、恭喜你完结撒花。
生活明朗、万物可爱、人间值得、未来可期。

SpringBoot使用hutool生成图片二维码相关推荐

  1. Hutool生成图片二维码 输出到前端

    文档地址 https://hutool.cn/docs/#/extra/%E4%BA%8C%E7%BB%B4%E7%A0%81%E5%B7%A5%E5%85%B7-QrCodeUtil pom引入 h ...

  2. java通过QR生成二维码 (QRCodeUtils工具类)(HUTOOL生成二维码)

    1.简述 二维码生成关键是QR,QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化 详情简介请看 2.工具类 package com.lingxu.bas ...

  3. php 生成图片二维码

    php生成图片二维码有很多方法,下面介绍一下我写的栗子: /*** 二维码*/public function qrcode($data) {$level = 'L'; // 纠错级别:L.M.Q.H$ ...

  4. java生成图片二维码

    import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.Buff ...

  5. Qrious生成图片二维码

    qrious是一款基于HTML5 Canvas的纯JS二维码生成插件.通过qrious.js可以快速生成各种二维码,可以控制二维码的尺寸颜色,还可以将生成的二维码进行Base64编码. qrious. ...

  6. Python37生成图片二维码报错:OSError: cannot write mode RGBA as JPEG

    代码如下: # 先导入模块 from MyQR import myqrmyqr.run(words='https://www.baidu.com',# 扫描二维码后,显示的内容,或是跳转的链接vers ...

  7. Springboot整合支付宝自定义二维码支付

    话不多说 上效果图 依赖第一步 <dependency><groupId>com.alipay.sdk</groupId><artifactId>ali ...

  8. springboot 给图片加二维码

    废话不多说,直接上代码 @PostMapping("/watermarkImages")public String watermarkImages() throws Excepti ...

  9. hutool生成二维码

    导入依赖: <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</art ...

最新文章

  1. 云原生时代, Kubernetes 多集群架构初探
  2. mysql 复制表结构到一个新表_MySQL复制表数据或表结构到新表中
  3. linux中进程的控制总结,Linux中的进程控制
  4. redis.exceptions.ResponseError: WRONGTYPE Operation against a key holding the wrong kind of value
  5. mysql中 s命令_Mysql-概念及常用命令
  6. ML.NET Cookbook:(16)什么是规范化?为什么我需要关心?
  7. 蓝牙耳机声音一顿一顿的_这次让世界听听我们的声音——声阔SoundcoreLiberty2Pro蓝牙耳机...
  8. javaScript中私有属性和方法
  9. python菜鸟教程100例-对菜鸟教程的Python一百例的个别改进
  10. Mysql表的约束设计和关联关系设计
  11. gecode int branch
  12. Markdow简单介绍
  13. 推荐几个学习JS的站点
  14. 2015年江苏对口单招计算机试卷答案,2016江苏对口单招试卷 2015年江苏对口单招计算机试卷.doc...
  15. 左右极限相等的matlab,如何求左右极限
  16. 小米手机抢购背后的摩尔定律
  17. Vagrant 与 VirtualBox 的保姆级安装教程
  18. #二维差分# [ssloj 1467] U
  19. 2019.10.8 \t\n艾希练习
  20. UNIX环境高级编程-环境配置

热门文章

  1. 研究生宿舍大盘点!令人羡慕的研究生宿舍来了!
  2. 10.24讲话一周年,产业区块链应用落地盘点 | 陀螺研究院
  3. 【基础练习】【BFS+A*】codevs1225八数码难题题解
  4. 在Keras的Embedding层中使用预训练的word2vec词向量
  5. GPS传感器数据帧格式
  6. JDBC进阶—— 师承尚硅谷(DAO)
  7. winform界面渐变色绘制
  8. 使用Visual Studio Code 进行Python编程(二)-print、if、for的用法
  9. linux 下打开png文件,png文件扩展名,png文件怎么打开?
  10. 梦里什么都有(状压DP)