----发个随机验证码示例

来源:互联网 发布:淘宝多长时间确认收货 编辑:程序博客网 时间:2024/06/04 23:25
  1.     public void doGet(HttpServletRequest request, HttpServletResponse response)
  2.             throws ServletException, IOException {
  3.         response.setContentType("text/html;charset=GBK");
  4.         PrintWriter out = response.getWriter();
  5.         //ServletOutputStream out=response.getOutputStream();
  6.         //定义数组储存验证码
  7.         char[] strChar=new char[]{'a','b','c','d','e','f','g','h','k','j','想','中','天','地','华','1','2','3','4','5','6','7','8','9','0'};
  8.         //位图
  9.         BufferedImage image=new BufferedImage(60,50,BufferedImage.TYPE_INT_RGB);
  10.         Graphics gra=image.getGraphics();
  11.         //设置背景色
  12.         gra.setColor(Color.white);
  13.         gra.fillRect(006050);
  14.         //设置字体以及大小
  15.         gra.setColor(Color.red);
  16.         gra.setFont(new Font("宋体",Font.BOLD,15));
  17.         String strTest="";
  18.         char strNum=0;
  19.         //生成随机种子
  20.         Random r=new Random(new Date().getTime());
  21.         //循环得到4个随机值
  22.         for (int i = 0; i < 4; i++) {
  23.             //确定随机值
  24.             strNum=strChar[r.nextInt(strChar.length)];
  25.             //存储验证码
  26.             strTest+=strNum;
  27.             //描绘验证码
  28.             gra.drawString(Character.toString(strNum), i*1535);
  29.         }
  30.         System.out.println(strTest);
  31.         //转码上色输出
  32. //      com.sun.image.codec.jpeg.JPEGImageEncoder encoder=com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(out);
  33. //      encoder.encode(image);
  34.         //在servlet上显示有颜色,这里我保存在作用域中,注释上两行以及outputStream,49行
  35.         //在页面上加上背景图片显色,字体颜色不会显示
  36.         request.setAttribute("strTest", strTest);
  37.         request.getRequestDispatcher("../main.jsp").forward(request, response);
  38.         
  39.         
  40.         
  41.         
  42.         
  43.         
  44.         
  45.         
  46.         
  47.         
  48.         
  49.     }
原创粉丝点击