springboot集成kaptcha生成图片验证码
pom依赖
<properties>
<kaptcha.version>0.0.9</kaptcha.version>
</properties>
<dependency>
<groupId>com.github.axet</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
</dependency>
生成验证码的配置类
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Properties;
/**
* 生成验证码配置类
*/
@Configuration
public class KaptchaConfig {
@Bean
public DefaultKaptcha producer() {
Properties properties = new Properties();
properties.put("kaptcha.border", "no");
properties.put("kaptcha.textproducer.char.space", "5");
properties.put("kaptcha.textproducer.font.color", "blue");
properties.put("kaptcha.textproducer.char.length", "4");
properties.put("kaptcha.image.height", "40");
properties.put("kaptcha.image.width", "160");
properties.put("kaptcha.textproducer.font.size", "30");
Config config = new Config(properties);
DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
defaultKaptcha.setConfig(config);
return defaultKaptcha;
}
}
获取图片验证码接口
@Autowired
private Producer producer;
/**
* 获取验证码图片
* @param request
* @param response
* @return
* @throws Exception
*/
@RequestMapping(value="/photo",method=RequestMethod.GET)
public void captcha(HttpServletResponse response,HttpServletRequest request)throws ServletException, IOException {
response.setHeader("Cache-Control", "no-store, no-cache");
response.setContentType("image/jpeg");
//生成文字验证码
String text = producer.createText();
//生成图片验证码
BufferedImage image = producer.createImage(text);
//保存到shiro session(注意:如果没有securityManager配置,则暂时无法工作,测试时先注释掉)
request.getSession().setAttribute("code",text);
ServletOutputStream out = response.getOutputStream();
ImageIO.write(image, "jpg", out);
out.flush();
return ;
}
效果
评论区
请写下您的评论...
猜你喜欢
blog
java web图片验证码
工具
2300
javaweb图片验证码1.验证码的作用:防止恶意破解密码、刷票、论坛灌水、刷页。有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上使用验证码是现在很多网站通行的方
blog
使用openssl生成crt证书
搜索
905
码
writingRSAkey
生成证书文件server.crtD:\tmp\sslopensslx509-req-days365-inserver.csr-signkeyserver.key
blog
java生成二维码跳转链接
工具
4093
java生成二维码跳转链接需要的jar包!--https://mvnrepository.com/artifact/com.google.zxing/core
blog
js生成二维码跳转链接
前端(h5)
2535
js生成二维码跳转链接!DOCTYPEhtmlhtmlhead!--引入jquery,jquery.qrcode--scripttype='text/javascript'src='http
blog
springmvc集成websocket
spring/springmvc
4101
springmvc集成websocket环境:spring+springmvc+tomcat8注意:本测试项目运行环境不能低于tomcat81.websocket配置
javascript js html
1240
展示将文章中目标区域的h标签,生成目录结构具体代码下载下来看看吧~
official
963
JS随机生成密码(必须包含大小写字母,数字和特殊符号)functionrandomPassword(length){length=Number(length)if(length6){length
工具
1838
java正则表达式同时验证手机号或电话号码importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPhone
最新发表
归档
2018-11
12
2018-12
33
2019-01
28
2019-02
28
2019-03
32
2019-04
27
2019-05
33
2019-06
6
2019-07
12
2019-08
12
2019-09
21
2019-10
8
2019-11
15
2019-12
25
2020-01
9
2020-02
5
2020-03
16
2020-04
4
2020-06
1
2020-07
7
2020-08
13
2020-09
9
2020-10
5
2020-12
3
2021-01
1
2021-02
5
2021-03
7
2021-04
4
2021-05
4
2021-06
1
2021-07
7
2021-08
2
2021-09
8
2021-10
9
2021-11
16
2021-12
14
2022-01
7
2022-05
1
2022-08
3
2022-09
2
2022-10
2
2022-12
5
2023-01
3
2023-02
1
2023-03
4
2023-04
2
2023-06
3
2023-07
4
2023-08
1
2023-10
1
2024-02
1
2024-03
1
2024-04
1
2024-08
1
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
srs
音视频
webrtc
javascript
加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。