Kaptcha ist ein einfaches und benutzerfreundliches Tool zur Erzeugung von Verifizierungscode. Durch die Konfiguration können Sie die Größe, Farbe, angezeigte Zeichen usw. selbst definieren. Lassen Sie uns darüber sprechen, wie Sie Kaptcha verwenden, um Überprüfungscodes zu generieren und Verifizierungscodes auf der Serverseite zu extrahieren.
1. Erstellen Sie eine Testumgebung
1.1. Erstellen Sie ein Web -Testprojekt
Erstellen Sie ein neues Webprojekt und platzieren Sie Kaptcha-2.3.2.jar im Web-INF/Lib/Lib-Verzeichnis des Projekts, wie in der folgenden Abbildung gezeigt:
1.2. Konfigurieren Sie Kaptchaservlet, um den Verifizierungscode in der Datei web.xml zu generieren
Die detaillierte Konfiguration von Kaptchaservlet lautet wie folgt:
<? XSI: Schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_2_2.xsd"> < <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- kaptcha verification code configuration --> <servlet> <!-- Servlet generating image --> <servlet-name>Kaptcha</servlet-name> <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class> <!-- Is there a border--> <init-param> <param-name> kaptcha.border </param-name> <param-value> no </param-value> </init-param> <!-font color-> <init-param> <param-name> Kaptcha.TextProducer.font.Color </param-name> </param-value> </param-value> </param-value> </param-value> rot! width-> <init-param> <param-name> waptcha.image.width </param-name> <param-value> 135 </param-value> </init-param> <! <param-value> acdefHkprstwx345679 </param-value> </init-param> <!-Bildhöhe-> <init-param> <param-name> waptcha.image <Param-name> kaptcha.textProducer.font.size </param-name> <param-value> 43 </param-value> </init-param> <!-Farbe der Interferenzlinie-> <init-param> <param-name> kaptcha.noise.colus </param-name> </param-</param-</param-vala> </param- Anzahl der Zeichen-> <init-param> <init-param> <init-param> <param-name> waptcha.noise.color </param-name> <param-value> schwarz </param-value> </init-param> <!-Anzahl der Zeichen-> <init-param> <param-name> kaptcha.textProkocer <param-value> 4 </param-value> </init-param> <! <servlet-name> Kaptcha </Servlet-name> <URL-Pattern> /kaptcha.jpg </url-pattern> </servlet-mapping> </web-App>
1.3. Zeigen Sie den generierten Verifizierungscode an
Anzeigen des Bestätigungscodes auf Page Index.jsp anzeigen
<%@ page Language = "java" pageCoding = "utf-8"%> <! docType html> <html> <kopf> <titels> Zeigen Sie den von Kaptchaservlet generierten Bestätigungscode an. src = "$ {pageContext.request.contextPath} /js/jquery-1.9.1.js"> </script> <script type = "text/javascript"> // Klicken Sie, um die Funktion des Verifizierungscodes zu veranschaulichen, derenverifyCode () {) {{{ $ ("#yzmimg"). attr ("src", "Kaptcha.jpg?"+math.floor (math.random ()*100)); } // Funktion dosubmit () {var verifyCodeValue = $ ("#verifyCode"). Val (); if (verifyCodeValue.replace (// s/g, "") == "") {alert ("Bitte geben Sie den Verifizierungscode ein); } else {// asynchron prüfen, ob der Verifizierungscode korrekt eingegeben wird, bevor var verifyUrl = "$ {pageContext.request.ContextPath}/servlet/verifyServlet? verifyCode ="+verififyCodeValue; $ .ajax ({Typ: "get", url: verifyurl, Erfolg: Funktion (returnData) {if (returnData! }}); } } </script> </head> <body> <form> <table> <tr> <td> Please enter the verification code: </td> <td> <input type="text" name="verifyCode" id="verifyCode"> <img src="Kaptcha.jpg" onclick="changeVerifyCode()" id="yzmImg" style="cursor: Zeiger; "> <a href =" JavaScript: void (0) "onclick =" ChangeVerifyCode () "> kann nicht klar sehen, eine andere ändere </a> </td> </tr> <tr> <Td> </td> <td> <input type =" button = "subine" subl. " </body> </html>Der Betriebseffekt ist in der folgenden Abbildung dargestellt:
1.4. Überprüfen Sie den eingereichten Bestätigungscode auf der Serverseite
Nachdem der Benutzer den Verifizierungscode im Formularformular eingereicht hat, werden wir ihn auf der Serverseite überprüfen und einen VerifyServlet mit dem folgenden Code schreiben:
/***/package me.gacl.web.controller; import java.io.ioxception; import java.io.printwriter; import Javax.servlet.servletException; import javax.servlet.http.httpervlet; import Javax. javax.servlet.http.httpServletResponse; public class verifyServlet erweitert HttpServlet (public void dodget (httpServletRequest), httpServletRespespect-Antwort), löst ServletException, IOException {response.setContentType ("text/htm; response.setheader ("pragma", "no-cache"); response.setheader ("cache-control", "no-cache"); Printwriter out = null; Versuchen Sie {// Antwortdaten String resultdata; // den bestandenen Verifizierungscode -Zeichenfolge verifizieren. System.out.println ("verifyCode ----"+verifyCode); if (verifyCode == "") {resultdata = "n"; } else {// den Überprüfungscode abrufen, der in der Sitzungsstring -String -String -Kaptchavalue = (String) request.getSession () gespeichert ist. // Vergleichen Sie, ob der eingegebene Verifizierungscode und der tatsächliche generierte Verifizierungscode gleich sind, wenn (Kaptchavalue == NULL || Kaptchavalue == "" ||! VerifyCode.equalSignoreCase (Kaptchavalue)) {resultdata = "n"; } else {resultData = "y"; }} out = response.getWriter (); out.write (resultdata); out.flush (); } catch (Ausnahme e) {e.printstacktrace (); } endlich {if (out! = null) {out.close (); }}}} Registrieren Sie VerifyServlet in web.xml
<!-Überprüfen Sie, ob der Verifizierungscode korrekt eingegeben wird-> <servlet> <servlet-name> verifyServlet </servlet-name> <servlet-class> me.gacl.web.controller.verifyServlet </Servlet-Class> </servlet> <Servlet-Mapping> <Servlet-nam> VerifyServlet </Servlet> <Servlet-NAME> <URL-Muster>/Servlet/VerifyServlet </url-pattern> </Servlet-Mapping>
Die Betriebsergebnisse sind wie folgt:
1. Geben Sie den Verifizierungscode nicht ein
2. Geben Sie den falschen Verifizierungscode ein
3. Geben Sie den richtigen Verifizierungscode ein
Die Verwendung von Kaptcha zum Generieren von Verifizierungscodes fühlt sich gut an, es ist sehr einfach und bequem. Ich hoffe, jeder kann es beherrschen.