jsp implémente le code de vérification graphique
Auteur:Eve Cole
Date de mise à jour:2009-07-02 17:08:30
méthode d'appel
<img src=" http://...../getImg ">
Le principe est de générer aléatoirement un numéro à 4 chiffres 1000-9999 dans la servlet
Ensuite, écrivez ce numéro dans la session
Sortez une image avec ces quatre chiffres écrits dessus
Côté serveur, en fonction du numéro saisi par l'utilisateur et
Comparaison de valeurs en séance.
paquet com.schoolwx.util;
importer java.io.* ;
importer java.util.* ;
importer com.sun.image.codec.jpeg.* ;
importer javax.servlet.* ;
importer javax.servlet.http.* ;
importer java.awt.* ;
importer java.awt.image.* ;
/**
* Titre : getImg.java
* Description : Cette classe implémente principalement la génération aléatoire d'un code de vérification à 4 chiffres et son écriture dans la session.
* Droits d'auteur : Droits d'auteur (c) 2003
* Entreprise : Blue Star Software
* @auteur faucon
* @version 1.1
*/
la classe publique getImg étend HttpServlet {
private Font mFont=new Font("宋体", Font.PLAIN,12);//Définir la police
//traiter la publication
public void doPost (demande HttpServletRequest, réponse HttpServletResponse)
lance ServletException,IOException {
doGet (demande, réponse);
}
public void doGet (demande HttpServletRequest, réponse HttpServletResponse)
lance ServletException,IOException {
//Obtenir un nombre aléatoire entre 1000 et 9999
Chaîne s="";
int intCount=0;
intCount=(new Random()).nextInt(9999);//
si(intCount<1000)intCount+=1000;
s=intCount+"";
// Payez de la valeur à la session.
HttpSession session=request.getSession (true) ;
session.setAttribute("getImg",s);
réponse.setContentType("image/gif");
ServletOutputStream out=response.getOutputStream();
BufferedImage image=nouveau BufferedImage(35,14,BufferedImage.TYPE_INT_RGB);
Graphicsgra=image.getGraphics();
//Définir la couleur d'arrière-plan
gra.setColor(Color.jaune);
gra.fillRect(1,1,33,12);
//Définir la couleur de la police
gra.setColor(Couleur.noir);
gra.setFont(mFont);
//Numéros de sortie
char c;
pour(int i=0;i<4;i++) {
c=s.charAt(i);
gra.drawString(c+"",i*7+4,11); //7 est la largeur, 11 est les positions de hauteur supérieure et inférieure
}
JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
}
http://blog.csdn.net/lixiaolong_blog/archive/2007/01/25/1493417.aspx