- 爱易网页
 
                        - 
                            Java教程
 
                        - 在struts框架中怎么应用验证码 
 
                         
                    
                    
                    日期:2014-05-18  浏览次数:20949 次 
                    
                        
                         在struts框架中如何应用验证码
我在做一个注册页面时,想应用验证码,但不知如何使用....   请教...
------解决方案--------------------
去网上查一下 大把的源码  我做项目时就查用过一次. 呵呵 
    自己动手吧   有些东西不一定要等别人给你  自己可以查的到的  
 TKS   祝你成功.
------解决方案--------------------
Image.jsp 
  <%@ page language= "java " import= "java.util.* " pageEncoding= "GBK "%>  
    <%@   page   contentType= "image/jpeg "   import= "java.awt.*,    
   java.awt.image.*,javax.imageio.*,java.net.* "   %>     
    
  
    
    <%!    
   Color   getRandColor(int   fc,int   bc){//random   color    
                   Random   random   =   new   Random();    
                   if(fc> 255)   fc=255;    
                   if(bc> 255)   bc=255;    
                   int   r=fc+random.nextInt(bc-fc);    
                   int   g=fc+random.nextInt(bc-fc);    
                   int   b=fc+random.nextInt(bc-fc);    
                   return   new   Color(r,g,b);    
                   }    
   %>     
    <%    
   //page   no   cache    
   response.setHeader( "Pragma ", "No-cache ");    
   response.setHeader( "Cache-Control ", "no-cache ");    
   response.setDateHeader( "Expires ",   0);    
      
   //   create   image   in   memory    
   int   width=60,   height=20;    
   BufferedImage   image   =   new   BufferedImage(width,   height,   BufferedImage.TYPE_INT_RGB);    
      
   //   get   GraphicContext    
   Graphics   g   =   image.getGraphics();    
      
      
   Random   random   =   new   Random();    
      
   //   set   background    
   g.setColor(getRandColor(200,250));    
   g.fillRect(0,   0,   width,   height);    
      
   //set   font    
   g.setFont(new   Font( "Times   New   Roman ",Font.PLAIN,18));    
      
   //set   border    
   //g.setColor(new   Color());    
   //g.drawRect(0,0,width-1,height-1);    
      
   //   generate   confusing   lines    
   g.setColor(getRandColor(160,200));    
   for   (int   i=0;i <155;i++)    
   {    
     int   x   =   random.nextInt(width);    
     int   y   =   random.nextInt(height);    
      int   xl   =   random.nextInt(12);    
      int   yl   =   random.nextInt(12);    
     g.drawLine(x,y,x+xl,y+yl);    
   }    
      
   //   4   bit   random   number   随即写出4个数字 
   String   sRand= " ";    
   for   (int   i=0;i <4;i++){    
           String   rand=String.valueOf(random.nextInt(10));    
           sRand+=rand;    
           //   put   validation   code   to   image    
           g.setColor(new   Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));    
           g.drawString(rand,13*i+6,16);    
   }    
      
   //   save   code   to   SESSION 传递图片中的数字 
   session.setAttribute( "rand ",sRand);    
      
      
   g.dispose();    
      
   //   display   image    
   ImageIO.write(image,    "JPEG ",   response.getOutputStream()); 
   out.clear(); 
 out = pageContext.pushBody();    
   %>     
  
  
 Login.jsp 
  
  <tr>  
 					 <td>  
 						验证码: 
 					 </td>  
 					 <td>  
 						 <html:text property= "image ">  </html:text>  
 					 </td>  
 					 <td>  
  <img width= "60 " height= "20 " src= " <%=basePath%> /image.jsp ">  
 					 </td>  
 				 </tr>