⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yanzhengmaservlet.java

📁 产生验证码图片
💻 JAVA
字号:
package beans;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;

public class YanZhengMaServlet extends HttpServlet {
    //图片的宽和高
  private int width=60;
  private int height=20;

  protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,java.io.IOException{
      //在内存中创建图像
      BufferedImage buffImg=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
      Graphics g=buffImg.createGraphics();
      //生成随机类
      Random random=new Random();
      //设置图片背景色
      g.setColor(new Color(236,236,236));
      g.fillRect(0,0,width,height);
      //设定字体
      Font font=new Font("Times New Roman",Font.PLAIN,18);
      g.setFont(font);
      //画边框
      g.setColor(Color.BLACK);
      g.drawRect(0,0,width-1,height-1);
      //随机产生160条干扰线
      /*g.setColor(Color.GRAY);
      for(int i=0;i<160;i++){
          int x=random.nextInt(width);
          int y=random.nextInt(height);
          int x1=random.nextInt(12);
          int y1=random.nextInt(12);

          g.drawLine(x,y,x+x1,y+y1);
      }*/

   String randomCode="";
      int red=0;
      int green=0;
      int blue=0;
      //随机产生的四位数
      for(int i=0;i<4;i++){
          String strRand=String.valueOf(random.nextInt(10));
          red=random.nextInt(140);
          green=random.nextInt(60);
          blue=random.nextInt(70);
          //
          randomCode+=strRand;
          g.setColor(new Color(red,green,blue));
          g.drawString(strRand,13*i+6,16);
      }
      HttpSession session=req.getSession();
      session.setAttribute("randomCode",randomCode.toString());
      resp.setHeader("Pragma","no-cache");
      resp.setHeader("Cache-Control","no-cache");
      resp.setDateHeader("Expires",0);

      resp.setContentType("image/jpeg");

      //ServletOutputStream sos=resp.getOutputStream();
      ImageIO.write(buffImg,"jpeg",resp.getOutputStream());
    //  sos.close();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -