生成验证码代码

来源:互联网 发布:最新淘宝优惠券 编辑:程序博客网 时间:2024/06/06 03:46
<span style="font-size:18px;">package aweiyo.servlet.response1;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.PrintWriter;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;import com.sun.org.apache.commons.digester.rss.Image;public class ResponseServlet7 extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {                    int width=120;            int height=30;            //创建一张内存中的缓存图片            BufferedImage bufferedimage=new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);                        //设置背景色            Graphics graphics=bufferedimage.getGraphics();            graphics.setColor(Color.yellow);            graphics.fillRect(0, 0, width, height);                        //画边框            graphics.setColor(Color.blue);            graphics.drawRect(0, 0, width-1, height-1);//必须长宽都减一,否则覆盖了                        //写验证码内容            graphics.setColor(Color.red);            graphics.setFont(new Font("宋体", Font.BOLD, 18));            String context ="1234567890qwertyuiopsadfghjklzxcvnbm";                        //从验证码内容中随机抽取四个字            Random random=new Random();            int x=30;//一个验证码的长            int y=20;//一个验证码的宽            for(int i=0;i<4;i++){                int index=random.nextInt(context.length());                char letter=context.charAt(index);                graphics.drawString(letter+"", x, y);//把一个字符变成字符串最简便的方法是该字符+""                x+=20;            }            //随机释放干扰线            int x1,x2,y1,y2;            graphics.setColor(Color.LIGHT_GRAY);            for(int i=0;i<10;i++){                x1=random.nextInt(width);                x2=random.nextInt(width);                y1=random.nextInt(height);                y2=random.nextInt(height);                graphics.drawLine(x1, y1, x2, y2);            }            //释放图形资源            graphics.dispose();            //将图片输出到浏览器  ImageIo            //将内存的图片成3gp格式到浏览器            ImageIO.write(bufferedimage, "jpg", response.getOutputStream());            System.out.println("00");    }        public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {            doGet(request, response);    }}</span>

0 0
原创粉丝点击