生成网页验证码

<%@ page language="java" import="java.util.*" 
import="java.awt.image.*"  import="javax.imageio.*" import="java.awt.*"
pageEncoding="gbk"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
  
  <body>
    <%!
        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 width = 60;
         int height = 20;
         BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
      
          //创建图片
          Graphics g = image.getGraphics();
          
          //生成随机数
          Random random = new Random();
          //设置图片颜色
          g.setColor(getRandColor(200,255));
          //设置图片为矩形
          g.fillRect(0,0,width,height);
          //设置字体
          g.setFont(new Font("Times New Roman",Font.PLAIN,18));
          //设置干扰条纹
          g.setColor(getRandColor(160,200));
          for(int i=0;i<255;i++){
          int x = random.nextInt(width);
          int y = random.nextInt(height);
          int x1 = random.nextInt(12);
          int y1 = random.nextInt(12);
          }
          //设置随机数
          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(100),20+random.nextInt(100),20+random.nextInt(100)));
          g.drawString(rand,13*i+6,16);
          
          }
          session.setAttribute("rCode","sRand");
          //图片绘制
          g.dispose();
          ImageIO.write(image,"JPEG",response.getOutputStream());
          out.clear();
          out = pageContext.pushBody();
      
      
      %>

     
     
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
  </head>
  
  <body>
   <img src="yanzhengma.jsp"/>
  </body>
</html>

 

posted @ 2015-10-09 18:01  aaddrrooiidd  阅读(284)  评论(0编辑  收藏  举报