zoukankan      html  css  js  c++  java
  • 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>
    

      

  • 相关阅读:
    java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0
    CentOS7 firewalld 使用
    服务器设置主机名以及服务器间ssh连接
    httpclient处理返回数据
    httpclient如何获取请求参数
    httpclient请求转发实战
    Java自带的md5、sha和base64加密怎么用
    mongodb分页Spring-data-mongodb
    has been loaded by xml or sqlprovider
    052(十)
  • 原文地址:https://www.cnblogs.com/zqr99/p/7645610.html
Copyright © 2011-2022 走看看