Java web验证码——kaptcha的3种使用方式
Java web验证码——kaptcha的3种使用方式
代码资源可从本博客资源中下载,地址:https://download.csdn.net/download/weixin_43666414/14170054
通过调用kaptcha依赖使用验证码本人总结有3中方式:
1:直接通过XML配置文件使用:使用.xml的配置方式配置生成kaptcha的bean对象,在启动类上@ImportResource这个xml文件
2:创建实体Bean对象:把kaptcha作为工程的一个类,加上@component注解在返回kaptcha的方法中加上@Bean注解,再在controller中注入其对象。
3:使用属性文件*.yml配置相关验证码属性
下面介绍第一种方法:
Java web验证码——kaptcha的使用(1)
——通过XML配置文件配置
方式一借鉴自其他作者:[创建原作者链接](https://www.cnblogs.com/lyq-biu/p/10853830.html)
通过使用.xml的配置方式配置生成kaptcha的bean对象,在启动类上@ImportResource这个xml文件;在controller中注入其对象并使用
一. 配置kaptcha的jar包
pom.xml配置:
<-- 目前只有2.3.2版本-->
<!-- https://mvnrepository.com/artifact/com.github.penggle/kaptcha -->
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3.2</version>
</dependency>
依赖jar包 (commons-fileupload):支持多文件上传![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/ef12dc7c3fb89ff999daaf2ece08cd39.png#pic_center
commons-fileupload配置:
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<!-- 上传文件 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
二.kaptcha样式配置
web.xml:配置kaptcha的servlet及部分样式
<servlet>
<servlet-name>Kaptcha</servlet-name>
<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
<!-- 定义验证码样式 -->
<!-- 是否有边框 -->
<init-param>
<param-name>kaptcha.border</param-name>
<!-- 没有边框 no -->
<param-value>no</param-value>
</init-param>
<!-- 字体颜色 -->
<init-param>
<param-name>kaptcha.textproducer.font.color</param-name>
<param-value>red</param-value>
</init-param>
<!-- 图片宽度 -->
<init-param>
<param-name>kaptcha.image.width</param-name>
<param-value>135</param-value>
</init-param>
<!-- 使用哪些字符生成验证码 -->
<init-param>
<param-name>kaptcha.textProducer.char.string</param-name>
<param-value>ACDEFHKPRSTWX345679</param-value>
</init-param>
<!-- 图片高度 -->
<init-param>
<param-name>kaptcha.image.height</param-name>
<param-value>50</param-value>
</init-param>
<!-- 字体大小 -->
<init-param>
<param-name>kaptcha.textproducer.font.size</param-name>
<param-value>43</param-value>
</init-param>
<!-- 干扰线的颜色 -->
<init-param>
<param-name>kaptcha.noise.color</param-name>
<param-value>black</param-value>
</init-param>
<!-- 验证码字符个数 -->
<init-param>
<param-name>kaptcha.textproducer.char.length</param-name>
<param-value>4</param-value>
</init-param>
<!-- 字体 -->
<init-param>
<param-name>kaptcha.textproducer.font.names</param-name>
<param-value>Aria</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Kaptcha</servlet-name>
<url-pattern>/Kaptcha</url-pattern>