zoukankan      html  css  js  c++  java
  • 验证码工具包使用

    1.web.xml配置

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    
        <servlet>
            <servlet-name>login</servlet-name>
            <servlet-class>kaptcha.LoginServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>login</servlet-name>
            <url-pattern>/login</url-pattern>
        </servlet-mapping>
        <!-- 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>
                <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>30</param-value>
            </init-param>
            <!-- 字体大小 -->
            <init-param>
                <param-name>kaptcha.textproducer.font.size</param-name>
                <param-value>30</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>Arial</param-value>
            </init-param>
        </servlet>
        <!-- 映射的url -->
        <servlet-mapping>
            <servlet-name>Kaptcha</servlet-name>
            <url-pattern>/Kaptcha.jpg</url-pattern>
        </servlet-mapping>
    </web-app>

    2.servlet配置

    package kaptcha;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class LoginServlet extends HttpServlet{
    
        private static final long serialVersionUID = 1L;
    
        @Override
        public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.getRequestDispatcher("login.jsp").forward(request, response);
        }
        
        
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String code=(String) req.getSession().getAttribute("KAPTCHA_SESSION_KEY");
            String codep=req.getParameter("code");
            if(code.equals(codep)){
                System.out.println("验证成功");
            }else{
                System.out.println("验证失败");
            }
        }
        
    }
    package kaptcha;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class LoginServlet extends HttpServlet{
    
        private static final long serialVersionUID = 1L;
    
        @Override
        public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.getRequestDispatcher("login.jsp").forward(request, response);
        }
        
        
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String code=(String) req.getSession().getAttribute("KAPTCHA_SESSION_KEY");
            String codep=req.getParameter("code");
            if(code.equals(codep)){
                System.out.println("验证成功");
            }else{
                System.out.println("验证失败");
            }
        }
        
    }
  • 相关阅读:
    String类
    try catch异常捕获
    while循环语句
    编程中穷举法的运用
    for循环例题
    编程中的 if ()else() 语句
    代位符
    运算符_及_运算符优先级
    C#中的类型转换
    Asp.net基础知识
  • 原文地址:https://www.cnblogs.com/javaweb2/p/6645781.html
Copyright © 2011-2022 走看看