Créer manuellement le code de vérification Java, le contenu spécifique est le suivant
COMPOSITION DU CODE DE VÉRIFICATION D'APPLICATION:
(1) Boîte d'entrée
(2) Image montrant le code de vérification
Le processus de création de code de vérification:
Le conteneur qui génère le code de vérification utilise le servlet de J2EE
Cours nécessaires pour générer des images:
(1) BufferedImage Image Data Buffer
(2) Images de dessin graphiques
(3) La couleur obtient la couleur
(4) Random génère des nombres aléatoires
(5) Image Image d'entrée
Processus de mise en œuvre spécifique:
(1) Définir un servlet pour générer un code de vérification
(2) Déterminer l'objet BufferedImage, la fonction principale est de créer un tampon d'image en tant que conteneur temporaire pour l'image.
(3) Obtenez l'objet graphique, le "fond" du dessin et le comprendre comme "toile"
(4) Générer des nombres aléatoires via un aléatoire pour créer des informations de vérification
(5) Grâce aux opérations graphiques, dessinez des dessins spécifiques
(6) Les informations sont stockées dans la session
(7) Utilisez ImageIo pour sortir l'image générée et transmettre l'image au premier plan en définissant le paramètre OUT dans la méthode écrite () de l'image, réponse.getOutputStream ().
(8) Faire un servlet pour la vérification et extraire les données de la session pour la vérification (la méthode asynchrone ajax est utilisée ici)
Implémentation spécifique du code (exemple de code de vérification sur le côté Web)
<Html> <A-head> <meta http-equiv = "content-type" contenu = "text / html; charset = utf-8"> <ititle> java de vérification code </ title> <script src = "https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.min.js"> </ script> </ body> <jques Entrée de code: <input type = "text" name = "checkcode"> <img id = "codeimg" src = "imagesvlet"> <a href = "javaScript: reloadcode ();"> Vous ne pouvez pas voir clairement? </a> <br/> <input type = "soumi" value = "soumi"> <div id = "info" style = "color: red;"> </ div> <script type = "text / javascript"> $ (function () {// ajax asynchrone {"Code": $ ("Name = CheckCode]"). Date (). GetTime (); // créer des fois différents $ ("# codeImg"). Att ("src", "imagesvlet? Time =" + time); // demande re-} </cript> </body> </html>Classe d'images (partie de génération de code de vérification)
@Webservlet ("/ imagesvlet") classe publique ImageServlet étend httpServlet {private static final long SerialVersionUID = 1l; / ** * @see httpservlet # httpservlet () * / public imagesvlet () {super (); // Tobuteur de constructeur généré automatiquement TODO} / ** * @SEE HttpServlet # DOGGEM BufferedImage (68, 22, BufferedImage.Type_int_rgb); Graphiques g = bimg.getGraphics (); Couleur couleur = nouvelle couleur (200,151,255); // génération de couleur g.setColor (couleur); G.Fillrect (0, 0, 68, 22); char [] ch = "abcdefghjiklmnopqrstuvwxyz0123456789" .tocharArray (); // Obtenez un tableau contenant des lettres et des nombres, puis obtenez au hasard les caractères aléatoire aléatoire = nouveau aléatoire (); // Créer un nombre aléatoire int len = ch.length, index; StringBuffer sbuffer = new StringBuffer (); // Loop génère 4 caractères aléatoires pour (int i = 0; i <4; i ++) {index = random.nextint (len); // créer une lettre et un nombre aléatoires g.setColor (nouvelle couleur (random.nextint (88), random.nextint (120), random.nextint (90))); // Créer une couleur aléatoire G.Drrawstring (ch [index] + ", (i) 18); sbuffer.append (ch [index]); // a mis les caractères obtenus au hasard dans la série de tampons} request.getSession (). setAttribute ("newCode", sbuffer.tostring ()); // Enregistrer en session pour la vérification suivante imageo.write (bimg, "jpg", réponse. / ** * @see httpservlet # doPost (requête httpservletRequest, httpservletResponse réponse) * / protected void doPost (httpservletRequest request, httpservletResponse réponse) lance servlexception, ioexception {// too ateneated method toal doget (request, réponse); }}Checkcode (Vérification Code Vérification Servlet)
@WebServlet ("/ Checkcode") Classe publique CheckCode étend httpServlet {private static final long SerialVersionUID = 1l; / ** * @see httpservlet # httpservlet () * / public checkcode () {super (); // TODO Stume du constructeur généré automatique} / ** * @see httpservlet # doget (requête httpservletRequest, httpservletResponse Response) * / Protected void doget (httpServleRequest Response.SetcharAtterencoding ("UTF-8"); String code = request.getParameter ("Code"). ToupperCase (); // Obtenez le code de vérification et effectuez la conversion de cas Resultation de la chaîne = null; if (request.getSession (). getAttribute ("newCode"). equals (code)) {result = "vérification réussie!"; Response.getWriter (). APPEND (Result); } else {result = "Vérification Code Erreur!"; Response.getWriter (). APPEND (Result); }} / ** * @see httpServlet # doPost (requête httpservletRequest, httpservletResponse réponse) * / protected void doPost (httpServletRequest request, httpservletResponse réponse) lance servletException, ioException {// todo atedo-généré par la méthode Stub Doget (requête, réponse); }}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.