• 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验证码的使用;

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

  • 相关阅读:
    Redis 基础、高级特性与性能调优
    CentOS 7安装新版RabbitMQ解决Erlang 19.3版本依赖
    Centos7中docker开启远程访问
    基于Docker+Jenkins+Gitlab搭建持续集成环境
    Gitlab利用Webhook实现Push代码后的jenkins自动构建
    在jenkins中调用maven的变量
    docker中gitlab-runner配置
    搭建docker私有仓库
    ku8eye 安装概览
    配置docker官方源并用yum安装docker
  • 原文地址:https://www.cnblogs.com/qxsong/p/14321076.html
Copyright © 2020-2023  润新知