Maison > Java > javaDidacticiel > le corps du texte

Analyse des étapes détaillées pour générer du code de vérification en Java

Y2J
Libérer: 2017-05-03 14:03:29
original
1815 Les gens l'ont consulté

Cet article présente principalement en détail le résumé des étapes pour générer du code de vérification en Java. Les amis qui en ont besoin peuvent s'y référer

1. Le mécanisme de sérialisation de Java vérifie la cohérence des versions en déterminant le serialVersionUID de la classe au moment de l'exécution.

    private static final long serialVersionUID = -8501285780349046114L;
Copier après la connexion

C'est l'équivalent de la carte d'identité Java. Principalement utilisé pour le contrôle de version.

2. Classe BufferedImage

- La sous-classe BufferedImage décrit une image avec un tampon de données d'image accessible.

TYPE_INT_RGB

Représente une image comportant des composants de couleur RVB 8 bits synthétisés en pixels entiers.

——getGraphics()

Cette méthode renvoie Graphics2D, mais c'est pour des raisons de compatibilité ascendante.

3. request.getParameter()

Les données transmises par la méthode request.getParameter() seront transmises du client Web au serveur Web , représentant les données de la requête HTTP.

La méthode request.getParameter() renvoie des données de type String.

4. String...

excludeProperty représente des paramètres variables, c'est-à-dire que plusieurs objets String peuvent être transmis lors de l'appel de cette méthode (paramètres variables : convient lorsque le nombre de paramètres est incertain , lorsque le type est déterminé, java traite les paramètres de la variable comme un tableau

Remarque : les paramètres de la variable doivent être situés dans le dernier élément, par exemple : private String drawRandomNum(Graphics2D g,String... createTypeFlag))

5. Classe Graphics

La classe Graphics est la classe de base abstraite pour tous les contextes graphiques, permettant aux applications d'effectuer des opérations sur des composants (déjà implémentés sur divers appareils) et hors -images d'écran dessiner.

【Étapes】 :


1. Créez une image en mémoire


 ——La sous-classe BufferedImage décrit une image avec un tampon de données d'image accessible.   

  BufferedImage bi = new BufferedImage(WIDTH,HEIGHT,BufferedImage.TYPE_INT_RGB);
Copier après la connexion

   TYPE_INT_RGB Représente une image comportant des composants de couleur RVB 8 bits synthétisés en pixels entiers.

——getGraphics()

Cette méthode renvoie Graphics2D, mais c'est pour des raisons de compatibilité ascendante.


2. Obtenez l'image

3. Définissez la couleur d'arrière-plan de l'image

        Graphics g = bi.getGraphics();
Copier après la connexion


4, définissez la bordure de l'image ;

        setBackGround(g);
Copier après la connexion


5. Dessinez des lignes d'interférence sur l'image

        setBorder(g);
Copier après la connexion


6. Écrivez des nombres aléatoires dessus ; l'image ;

        drawRandomLine(g);
Copier après la connexion


7. Stockez le nombre aléatoire dans la session

        String random = drawRandomNum((Graphics2D) g,createTypeFlag);//根据客户端传递的createTypeFlag
Copier après la connexion


8. Définissez l'en-tête de réponse pour informer le navigateur de l'ouvrir ; sous forme d'image ;

        request.getSession().setAttribute("checkcode",random);
Copier après la connexion


9. Définissez l'en-tête de réponse pour contrôler que le navigateur ne mette pas en cache

        response.setContentType("image/jpeg");//等同于res[onse.setHeader("Content-Type","image/jpeg");
Copier après la connexion

——setDateHeader name - le nom de l'en-tête ; set

  response.setDateHeader("expries",-1);
  response.setHeader("Cache-Control","no-cache");
  response.setHeader("Pragma","no-cache");
Copier après la connexion

date - la valeur de date attribuée

    public void setDateHeader(java.lang.String name,long date)
Copier après la connexion

——setHeader


Paramètres :


nom - le nom de l'en-tête


valeur - la valeur de l'en-tête S'il contient une chaîne d'octets, il doit être codé conformément à la RFC 2047 (http: //www.ietf.org/ rfc/rfc2047.txt)
            public void setHeader(java.lang.String name, java.lang.String value)
Copier après la connexion


10. Écrivez l'image dans le navigateur


——Paramètres :

im - l'image rendue à écrire.
        formatName - Chaîne contenant le nom informel du format.

        ImageIO.write(bi,"jpg",response.getOutputStream());
Copier après la connexion
Output -OutputStream sera écrit dans les données.


      


IOException - si une erreur se produit lors de l'écriture.  

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!