我的验证码

image.jsp文件:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.awt.*"%>
<%@ page import="java.awt.image.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.imageio.*"%>
<%!
      Color getRandColor(int fc,int bc)
        {
              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);
        }
%>
<%
    response.setHeader("pragma","No-cache");
    response.setHeader("Cache-Control","no-cache");
    response.setDateHeader("Expires",0);
                 int  iwidth=60;            int   iheight=20;
                 BufferedImage    image=new   BufferedImage(iwidth,iheight,BufferedImage,TYPE_INT_RGB);
                 Graphics    g=image.getGraphics();
                 Random   random=new  Random;
                 g.setColor(getRandColor(200,250));
                 g.fillRect(0,0,iwidth,iheight);
                 g.setFont(new  Font("Times  New  Roman",Font.PLAIN,18));
                 g.setColor(getRandColor(160,200));
             for(int i=0;i<155;i++)
                    {
                             int ix=random.nextInt(iwidth);
                             int iy=random.nextInt(iheight);
                             int ix1=random.nextInt(12);
                             int iy1=random.nextInt(12);
                          g.drawLine(ix,iy,ix+ix1,iy+iy1);
                    }
           String   sRand="";
           for(int i=0;i<4;i++)
                  {
                              String  rand=String.valueOf(random.nextInt(10));
                              sRand+=rand;
                               g.setColor(new   Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
                                    g.drawString(rand,13*i+6,16);
                }
              session.setAttribute("Rand",sRand);
              g.dispose();
             ImageIO.write(image,"JPEG",response.getOutputStream());
%>
  
调用:
<td align=left>验证码:</td>
<td><input  type=text  ........................></td>
<td align=left><img src="image.jsp"  name="myImage"></td>


获取:
 String sRand1=(String)session.getAttribute("Rand");
String sRand2=request.getParameter("Rand");
if(sRand1.compareTo(sRand2)!=0)
{
  out.println("错误");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值