> 文档中心 > 验证码的简单制作

验证码的简单制作

package web.servlet;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.awt.*;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;@WebServlet("/checkCodeServlet")public class CheckCodeServlet extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int width = 100; int height = 50; //1.创建对象,在内存中制作图片(验证码图片对象) BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); //2.美化图片 //2.1填充背景色 Graphics g = image.getGraphics();//画笔对象 g.setColor(Color.PINK);//设置画笔颜色 g.fillRect(0,0,width,height); //2.2画边框 g.setColor(Color.BLUE); g.drawRect(0,0,width-1,height-1); String str ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; //生成随机角标 Random ran = new Random(); for (int i = 1; i <=4 ; i++) {     int index = ran.nextInt(str.length());     //获取字符     char c = str.charAt(index);//随机字符     //2.3写验证码     g.drawString(c+"",width/5*i,height/2); } //2.4画干扰线 for (int i = 0; i < 10; i++) {     int x1 = ran.nextInt(width);     int x2 = ran.nextInt(width);     int y1 = ran.nextInt(height);     int y2 = ran.nextInt(height);     g.drawLine(x1,x2,y1,y2); } //3.将图片输出到页面展示 ImageIO.write(image,"jpg",response.getOutputStream());    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request,response);    }}
        Title     window.onload = function (){     //1.获取图片对象     var img = document.getElementById("checkCode");     //2.绑定单击事件     img.onclick = function (){  //加时间戳  var date = new Date().getTime();  img.src = "/day15/checkCodeServlet?"+ date;     }     //1.获取图片对象     var g = document.getElementById("change");     //2.绑定单击事件     g.onclick = function (){  //加时间戳  var date = new Date().getTime();  g.src = "/day15/checkCodeServlet?"+ date;     } }         看不清,换一张

局座张召忠