Cómo agregar un código de verificación a la página de inicio de sesión y registro y actualizarlo en tiempo real

¿Por qué agregar un código de verificación?
Para evitar el envío repetido de formularios, presionar al servidor

Herramientas necesarias: kaptcha-2.3.2.jar idea2019.3
código de verificación de Google clase de servlet encapsulado

Primero importe el paquete jar

Una vez completada la importación, puede configurarla directamente en web.xml

El código de configuración es el siguiente:

	<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>/kaptcha.jpg</url-pattern>
	</servlet-mapping>
	

Si agrega y vuelve a implementar una vez completada la adición, obtendrá una imagen del código de verificación después del acceso directo
. El efecto se muestra en la figura;

Inserte la descripción de la imagen aquí

¿Viene el problema?

Cómo hacer entrar a los personajes después de obtener la imagen

La herramienta configurará una sesión en el fondo de inicio de sesión o en el fondo de registro, y el valor del valor se puede recuperar a través de la identificación


        // 获取Session中的验证码
        String token = (String) req.getSession().getAttribute(KAPTCHA_SESSION_KEY);
        // 删除 Session中的验证码
        req.getSession().removeAttribute(KAPTCHA_SESSION_KEY);

Donde KAPTCHA_SESSION_KEY es un ID fijo constante

El principio es que cuando solicitamos el servidor y obtenemos el valor a través de la sesión, inmediatamente eliminamos la sesión para prepararnos para la siguiente solicitud.

Esto evita múltiples solicitudes

Luego, obtenga el código de verificación enviado para comparar.
Una vez que sea correcto, continúe con el siguiente paso. Regrese incorrectamente a la página para repetir el mensaje de error

String code = req.getParameter("code");
        //检查验证码有否有问题
        if (token != null && token.equalsIgnoreCase(code)) {
    
    
}else{
    
    

}

Cómo mostrar la imagen captcha en la página jsp

Utilice el atributo img src

                   <img  id="img_check" src="kaptcha.jpg" width="80px" height="40px" >

El src pone la dirección del servlet de solicitud para obtener la imagen

Supongo que te gusta

Origin blog.csdn.net/weixin_46999174/article/details/108771891
Recomendado
Clasificación