Google验证码Kaptcha的详细过程

使用Google验证码:Kaptcha

1.首先是导入jar包
在这里插入图片描述
2.第二步
配置jar包中的KaptchaServlet的路径
在这里插入图片描述

 <!--配置google的验证码返回一个图片-->
    <servlet>
        <servlet-name>KaptchaServlet</servlet-name>
        <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>KaptchaServlet</servlet-name>
        <url-pattern>/pages/Kaptcha.jpg</url-pattern>
    </servlet-mapping>

3.在需要显示验证码的地方调用上一步配置成为jpg格式的servlet(注意路径,配置的Kaptch中K要大写)****

<label>验证码:</label>
<input class="itxt" type="text" name="code" style="width: 100px;" id="code" />
<img alt="" src="Kaptcha.jpg" style="float: right; margin-right: 40px; width: 110px;height: 35px" id="code_img">

此时应该已经显示验证码了;但是我们都知道平常使用的验证码点击就会刷新,因此我们还要通过js或者jquery对其设置点击事件,下面我使用的是jquery

4.为验证码设置点击刷新事件

<script type="text/javascript">
			// 页面加载完成之后
			$(function () {
				$("#code_img").click(function () {
				//this指的是当前操作的DOM对象,src表示的是验证码图片的路径
				//alert(this.src);时间戳的目的就是使得每次请求的验证码的请求路径不一样,使得不出现读出缓存的情况
				this.src="Kaptcha.jpg?d="+new Date();
			});

这时应该验证码就已经准备好了。接下来就是获取验证码图片中的值
5.找到Constains
在这里插入图片描述
这个会话中的key保存的时验证码的值;
通过session中的key取出value,然后再使用的时候传入值与value值相比较就可以了;

//获取session中的验证码的值
        String token = (String) request.getSession().getAttribute(KAPTCHA_SESSION_KEY);
        //销毁session
        request.getSession().removeAttribute(KAPTCHA_SESSION_KEY);
        //2.检查验证码是否正确  写死要求验证码时"abcde"
        if (token!=null && token.equalsIgnoreCase(code)){//验证码正确}else{验证码错误}

以上5步就完成了google验证码的使用;

我也是刚学的小白,如果有什么说的不对的可以直接提出;

posted @ 2020-11-14 11:53  爪洼ing  阅读(151)  评论(0编辑  收藏  举报