纯servlet实现验证码

来源:互联网 发布:mac怎么查看激活时间 编辑:程序博客网 时间:2024/04/27 15:26
package com.java.checkcode;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class checkcode extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
         BufferedImage bi=new BufferedImage(68,22,BufferedImage.TYPE_INT_RGB);//第一个参数图片的长度,第二个图片的高度,第三个常量是图像类型。
         Graphics g=bi.getGraphics();    
         g.setColor(new Color(150,200,245));
         g.fillRect(0,0,68,22);
         char[] ch="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
         Random r=new Random();
         int len=ch.length,index;
         StringBuffer sb=new StringBuffer();
         for(int i=0;i<4;i++){
        index=r.nextInt(len);
        g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));  
        g.drawString(ch[index]+"",i*15+3,18);
        sb.append(ch[index]);
         }
         request.getSession().setAttribute("picCode",sb.toString());//把生成的数字放入session用于验证
         ImageIO.write(bi,"JPEG",response.getOutputStream());
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
      doGet(request, response);
}
}
jsp代码:
//
  //  请输入验证码:
    //       验证码
     //      看不清楚
      //     
  //
   
0 0
原创粉丝点击