• 谷歌 kaptcha 图片验证码的使用


    在使用谷歌验证码时候需要先导入谷歌验证码的jar包

    谷歌验证码 kaptcha 使用步骤如下:
        1、导入谷歌验证码的 jar 包
            kaptcha-2.3.2.jar
        2、在 web.xml 中去配置用于生成验证码的 Servlet 程序

    web.xlm

       <servlet>
            <servlet-name>KaptchaSevlet</servlet-name>
            <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
        </servlet>
        
        <servlet-mapping>
            <servlet-name>KaptchaSevlet</servlet-name>
            <url-pattern>/kaptcha.jpg</url-pattern>
        </servlet-mapping>

    在表单中使用 img 标签去显示验证码图片并使用它

      <form action="http://localhost:8080/userServlet" method="get">
        用户名:<input type="text" name="username" > <br>
        验证码:<input type="text" style=" 60px;" name="code">
        <img src="http://localhost:8080/kaptcha.jpg" alt="" style=" 100px; height: 28px;"> <br>
        <input type="submit" value="登录">
      </form>

    userServlet

      @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resq) throws IOException {
            // 获取 Session 中的验证码
            String token = (String) req.getSession().getAttribute(KAPTCHA_SESSION_KEY);
            // 删除 Session 中的验证码 以便这个验证码后续还可以使用
            req.getSession().removeAttribute(KAPTCHA_SESSION_KEY);
            //获取前端输入来的验证码
            String code = req.getParameter("code");
            // 获取用户名
            String userName = req.getParameter("username");
    
            if(token != null && token.equalsIgnoreCase(code)){
                System.out.println("保存到数据库"+userName);
                resq.sendRedirect(req.getContextPath()+"ok.jsp");
            }else {
                System.out.println("请不要重复提交表单");
    
            }
        }

     验证码可以正常使用了

    注意:

    在导入jar包的时候一定要看看是否Artifacts了不然是无法使用的

  • 相关阅读:
    python数据采集与多线程效率分析
    Memcache使用基础
    《大规模 web服务开发》笔记
    画了一张PHPCMSV9的运行流程思维导图
    MySQL的正则表达式
    linux patch 格式与说明(收录)
    Memcached笔记之分布式算法
    bzoj 2120 带修改莫队
    bzoj 2073 暴力
    bzoj 1814 Ural 1519 Formula 1 插头DP
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/13885868.html
Copyright © 2020-2023  润新知