图片接受验证码

图片接受验证码

1.Servlet实现

public class testyanzhengma extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     //设定时刷新时间
        resp.setHeader("Refresh","3");
     //设置一个图片格式
        BufferedImage bufferedImage = new BufferedImage(80, 20, BufferedImage.TYPE_INT_RGB);
     //设置2D进行画笔设置
        Graphics2D graphics = (Graphics2D)bufferedImage.getGraphics();
     //设置框内颜色及大小
        graphics.setColor(Color.white);
        graphics.fillRect(0,0,80,20);
     //设置字体颜色及大小
        graphics.setColor(Color.red);
        graphics.drawString(makenum(),0,20);
        graphics.setFont(new Font(null,Font.BOLD,20));
     //设置图片的类型
        resp.setContentType("image/jpeg");
        resp.setHeader("Cache-Control","no-cache");
        resp.setHeader("pragma","no-cache");
     //读取之前的设置内容
        ImageIO.write(bufferedImage,"jpg",resp.getOutputStream());
    }
    private String makenum(){
    //设置验证码随机数
        Random random = new Random();
        String num=random.nextInt(999999)+"";
           //将随机数呈现到图片上
        StringBuffer stringBuffer = new StringBuffer();
        for(int i=0;i<6-num.length();i++){
            stringBuffer.append(0);
        }
        num=stringBuffer.toString()+num;
        return num;
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}

2.配置web.xml

 <servlet>
    <servlet-name>image</servlet-name>
    <servlet-class>com.ws.Servlet.testyanzhengma</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>image</servlet-name>
    <url-pattern>/image</url-pattern>
  </servlet-mapping>

3.需要以下依赖pom.xml

  <dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.3.3</version>
    <scope>provided</scope>
  </dependency>
  <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

4.来源

    1.使用的TomCat9.0.62版本
    2.来自狂神视频的学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值