spring boot项目引用kaptcha
来源:互联网 发布:知行论坛北交大注册 编辑:程序博客网 时间:2024/05/01 22:35
pom 文件引用依赖
<!-- kaptcha --> <dependency> <groupId>com.google.code</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency>
kaptcha.jar在maven库里没找到,自己去官网下载的
mvn install:install-file -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3.2 -Dfile=C:\Server\MavenRepository\maven_jar\com\google\code\kaptcha\2.3.2\kaptcha-2.3.2.jar -Dpackaging=jar -DgeneratePom=true
更新:
使用com.github.axet.kaptcha会报错java.lang.IllegalStateException: Cannot create a session after the response has been committed
所以要么使用com.google.code.kaptcha,要么请勿参照这个方法
//kaptcha已不由谷歌维护,新的依赖是:
//<dependency>// <groupId>com.github.axet</groupId>// <artifactId>kaptcha</artifactId>// <version>0.0.9</version>//</dependency>
配置参数,如果不需要配置的话,简单两行就搞定
@Configurationpublic class WebMvcConfig extends WebMvcConfigurerAdapter { @Bean public ServletRegistrationBean servletRegistrationBean() throws ServletException{ return new ServletRegistrationBean(new KaptchaServlet(),"/images/kaptcha.jpg"); }}
添加一些初始化参数
@Configurationpublic class WebMvcConfig extends WebMvcConfigurerAdapter { /*@Value("${kaptcha.border}")private String kborder;*/ @Value("${kaptcha.session.key}") private String skey; @Value("${kaptcha.textproducer.font.color}") private String fcolor; @Value("${kaptcha.textproducer.font.size}") private String fsize; @Value("${kaptcha.obscurificator.impl}") private String obscurificator; @Value("${kaptcha.noise.impl}") private String noise; @Value("${kaptcha.image.width}") private String width; @Value("${kaptcha.image.height}") private String height; @Value("${kaptcha.textproducer.char.length}") private String clength; @Value("${kaptcha.textproducer.char.space}") private String cspace; @Value("${kaptcha.background.clear.from}") private String from; @Value("${kaptcha.background.clear.to}") private String to; @Bean public ServletRegistrationBean servletRegistrationBean() throws ServletException{ ServletRegistrationBean servlet = new ServletRegistrationBean(new KaptchaServlet(),"/images/kaptcha.jpg"); servlet.addInitParameter("kaptcha.border", "no"/*kborder*/);//无边框 servlet.addInitParameter("kaptcha.session.key", skey);//session key servlet.addInitParameter("kaptcha.textproducer.font.color", fcolor); servlet.addInitParameter("kaptcha.textproducer.font.size", fsize); servlet.addInitParameter("kaptcha.obscurificator.impl", obscurificator); servlet.addInitParameter("kaptcha.noise.impl", noise); servlet.addInitParameter("kaptcha.image.width", width); servlet.addInitParameter("kaptcha.image.height", height); servlet.addInitParameter("kaptcha.textproducer.char.length", clength); servlet.addInitParameter("kaptcha.textproducer.char.space", cspace); servlet.addInitParameter("kaptcha.background.clear.from", from); //和登录框背景颜色一致 servlet.addInitParameter("kaptcha.background.clear.to", to); return servlet; }}
[颜色color不可以这样写的,暂时写成black]
附上代码
kaptcha: session: key: kaptcha.code #border: no #渲染效果:水纹:WaterRipple;鱼眼:FishEyeGimpy;阴影:ShadowGimpy obscurificator: impl: com.google.code.kaptcha.impl.WaterRipple #不要噪点 noise: impl: com.google.code.kaptcha.impl.NoNoise image: width: 90 height: 33 textproducer: font: size: 25 color: black char: length: 4 space: 5 #和登录框背景颜色一致 background: clear: from: 247,247,247 to: 247,247,247
前面这堆配置代码,实际上就是实现普通web项目这些配置(spring-applicationcontext)
前台页面,加在用户名密码框下面
<img style="width:47%;display:inline;" id="kaptcha" src="/images/kaptcha.jpg" title="点击更换" onclick="javascript:refreshCaptcha();"/>
function refreshCaptcha() {$("#kaptcha").attr("src","/images/kaptcha.jpg?t=" + Math.random()); }
参数配置有没有更简单的方式呢?
0 0
- spring boot项目引用kaptcha
- Spring MVC 项目配置Kaptcha验证码
- 创建Spring Boot第一个引用项目出现的Bug
- Spring boot + redis 项目
- Spring boot 项目相关
- 创建spring boot 项目
- Spring boot项目部署
- spring boot 项目初探
- spring-boot项目部署
- spring-boot项目启动
- 新建spring boot项目
- Spring boot 集成 Kaptcha 实现前后端分离验证码功能
- Spring Boot-创建Spring Boot项目
- Spring Boot 将Freemarker打包到其他jar并在项目中引用的简单方法
- Spring Boot引用本地jar包
- Spring Boot引用本地jar包
- Spring Boot 引用本地jar包
- Spring Boot引用本地jar包
- invokedynamic与lambda表达式
- Java代码行数的统计
- Unity3d 鼠标的事件GetMouseButtonDown()、GetMouseButton()、GetMouseButtonUp()
- winddows下搭建android studio
- Shell命令笔记
- spring boot项目引用kaptcha
- 魅蓝3S发布 699元配指纹金属机身
- 自定义View系列教程01--常用工具介绍
- localdb使用
- 我眼里的正则表达式(入门)
- 访问系统提示No space left on device (28) in Unknown on line 0
- hadoop完全分布式的搭建
- 【ppt入门教程】PowerPoint课件发布全攻略
- Java web学习笔记之一——环境搭建