关于验证码kaptcha包的两种条件下使用

第一种:对于SSM搭建的项目环境,使用验证码。
1、先去Maven中央仓库中下载对应的依赖包
链接:https://mvnrepository.com/artifact/com.github.penggle/kaptcha
下载之后,将依赖放入pom.xml文件中
下面的依赖代码看不全,可以看我下面的截图:

com.github.penggle kaptcha 2.3.2

在这里插入图片描述

2、查看对应的Libraries---->Maven Dependencies---->是否有kaptcha-2.3.2.jar这个包,如果没有,那么说明没有下载下来,或者是没有显示。可以在Eclipse导航栏中—>选择Project—>右键—>clean —>Build the entire workspace
然后你就可以看到这个依赖包了。
3、配置web.xml文件,
下面给出的代码,是写在 项目名称标签下面。
在这里插入图片描述

在这里插入图片描述
下面的代码部分可能看不见,是编辑器的问题,可以看上面图片,是一样的内容。
<-- y验证码相关属性的配置 -->


Kaptcha


com.google.code.kaptcha.servlet.KaptchaServlet

<-- y启动时就已经加载到内存中去了–>
<–y下面是有关于生成的验证码的详细配置样式 -->
<-- y设置是否有边框 -->

kaptcha.border
yes

<-- y设置边框颜色–>

kaptcha.border.color
105,179,90

<init-param>
    <param-name>kaptcha.textproducer.char.length</param-name>
    <param-value>4</param-value>
</init-param>
<!--y 字体 -->
<init-param>
    <param-name>kaptcha.textproducer.font.names</param-name>
    <param-value>Arial</param-value>
</init-param>
<init-param>
    <param-name>kaptcha.textproducer.char.string</param-name>
    <param-value>ACDEFHKPRSTWXacdefhkprstwx123456789</param-value>
</init-param>
<!-- y字体大小 -->
<init-param>
    <param-name>kaptcha.textproducer.font.size</param-name>
    <param-value>32</param-value>
</init-param>
<!-- y干扰线的颜色 -->
<init-param>
    <param-name>kaptcha.noise.color</param-name>
    <param-value>black</param-value>
</init-param>
Kaptcha /Kaptcha 注意在代码: /Kaptcha中Kaptcha不是说随便写,而是在后面的jsp页面要用到的。

4、在前端jsp页面的配置:
在这里插入图片描述
代码

在这里插入图片描述
./ 当前目录。
…/ 父级目录。
/ 根目录。
/项目名/src/main/webapp/login.jsp
/项目名/src/main/webapp/WEB-INF/web.xml

代码:

			<input type="text" placeholder="验证码" class="login_txtbx"
				name="kaptcha" id=j_captcha />
		</dd>
		<dd>
			<div class="form-cont">
				 <img id="captcha_img" alt="点击更换" title="点击更换"
         onclick="changeVerifyCode(this)" src="../Kaptcha"/><font style="color: white;">字母区分大小写</font>
			</div>

5、在Controller层的写法:
在这里插入图片描述
6、如果你要判断两个验证码是否相等,kaptcha.equals(code),通过if判断,相等则可以登录成功,否则登录失败。

7、效果:
在这里插入图片描述第二种:没有用SSM框架,使用的是javaWeb servlet+jsp
1:去中央仓库下载kaptcha包
链接:https://mvnrepository.com/artifact/com.github.penggle/kaptcha
在这里插入图片描述

在这里插入图片描述
2、将包放到lib文件夹下面,注意要build path,包的图标,左下角有一点绿色,代表build path 成功
在这里插入图片描述
3、配置web.xml文件
代码:

Kaptcha com.google.code.kaptcha.servlet.KaptchaServlet kaptcha.border yes kaptcha.border.color 105,179,90 Kaptcha /Kaptcha.jpg

在这里插入图片描述
4、
在这里插入图片描述
代码如下:代码展示不出来下面的代码部分可能看不见,是编辑器的问题,可以看上面图片,是一样的内容。

图片加载失败 看不清,点击左侧图片切换
	要添加点击事件:为了点击图片进行刷新图片
	<script>
		window.onload = function() {
			document.getElementById("codeImg").onclick = function() {
				//0.单击事件的function函数中,有一个this对象,这个this对象是当前正在响应事件的dom对象
				this.src = "/Java1904Servlet_01/Kaptcha.jpg?t=" + new Date();
				//0.这里在?后面加一个随机值,防止验证码的重复提交---可以选择随机数或者日期,这里使用日期
			}
		}
</script>

5、图片以及代码:
在这里插入图片描述
在这里插入图片描述
6、在controller层的写法:
// 0.获取用户传递过来的验证码
String kaptcha = request.getParameter(“kaptcha”);
// 0.获取之前生成的验证码
String code = (String) request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);

7、如果你要判断两个验证码是否相等,kaptcha.equals(code),通过if判断,相等则可以登录成功,否则登录失败。
8、效果图:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值