• java实现网页验证码


    Servlet:

    package cn.bdqn.servlet;
    
    import javax.imageio.ImageIO;
    import javax.servlet.ServletException;
    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.font.ImageGraphicAttribute;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    import java.util.Random;
    
    
    @WebServlet(name = "Servlet",urlPatterns = "/yanCode")
    public class Servlet extends HttpServlet {
        public void doPost(javax.servlet.http.HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            this.doGet(request,response);
    
        }
    
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
            String s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            Random random = new Random();
            int width=500;
            int height=50;
            BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
            Graphics graphics = image.getGraphics();//相当于画笔
            //画背景
            graphics.setColor(Color.gray);
            graphics.fillRect(0,0,width,height);
            graphics.setColor(Color.black);
            for (int i = 0; i <4 ; i++) {
                int index = random.nextInt(s.length());
                String c = s.substring(index, index + 1);
                graphics.drawString(c,width/5*(i+1),15);
            }
    
            ImageIO.write(image,"jpg",response.getOutputStream());
    
    
        }
    }
    

      jsp:

    <%--
      Created by IntelliJ IDEA.
      User: Administrator
      Date: 2017/10/10
      Time: 13:04
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>验证码</title>
      </head>
      <body>
      <img src="yanCode" alt="验证码"  style=" 500px;height:50px">
      <input type="button" value="看不清,更换验证码" id="btn" onclick="changeCode();">
    
      <script type="text/javascript" src="js/jquery.min.js">
      </script>
      <script type="text/javascript" >
          function changeCode() {
              $("img").attr('src', 'yanCode?ts=' + new Date().getTime());
    
          }
      </script>
      </body>
    </html>
    

      

  • 相关阅读:
    树莓派3的无线设置
    Zabbix监控
    使用mutt+msmtp在Linux命令行界面下发邮件(续)
    K8S(16)集成实战-使用spinnaker进行自动化部署
    K8S(15)监控实战-ELK收集K8S内应用日志
    K8S(14)监控实战-grafana出图_alert告警
    K8S(13)监控实战-部署prometheus
    K8S(12)配置中心实战-多环境交付apollo三组件
    K8S(11)配置中心实战-单环境交付apollo三组件
    K8S(10)配置中心实战-configmap资源
  • 原文地址:https://www.cnblogs.com/zqr99/p/7645610.html
Copyright © 2020-2023  润新知