zoukankan      html  css  js  c++  java
  • 生成网页验证码

    <%@ page language="java" import="java.util.*" 
    import="java.awt.image.*"  import="javax.imageio.*" import="java.awt.*"
    pageEncoding="gbk"%>
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      </head>
      
      <body>
        <%!
            Color getRandColor(int fc,int bc){
                Random random = new Random();
                if(fc>255)
                fc=255;
                if(bc<255)
                bc=255;
                int r = fc+random.nextInt(bc-fc);
                int g = fc+random.nextInt(bc-fc);
                int b = fc+random.nextInt(bc-fc);
                return new Color(r,g,b);
            }
        
         %>
         <%
             //设置页面不缓存
             response.setHeader("Pragma","no-cache");
             response.setHeader("Cache-Control","no-cache");
             response.setDateHeader("Expires",0);
         
             //在内存中创建图片
             int width = 60;
             int height = 20;
             BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
          
              //创建图片
              Graphics g = image.getGraphics();
              
              //生成随机数
              Random random = new Random();
              //设置图片颜色
              g.setColor(getRandColor(200,255));
              //设置图片为矩形
              g.fillRect(0,0,width,height);
              //设置字体
              g.setFont(new Font("Times New Roman",Font.PLAIN,18));
              //设置干扰条纹
              g.setColor(getRandColor(160,200));
              for(int i=0;i<255;i++){
              int x = random.nextInt(width);
              int y = random.nextInt(height);
              int x1 = random.nextInt(12);
              int y1 = random.nextInt(12);
              }
              //设置随机数
              String sRand="";
              for(int i=0;i<4;i++){
              String rand = String.valueOf(random.nextInt(10));
              sRand += rand;
              g.setColor(new Color(20+random.nextInt(100),20+random.nextInt(100),20+random.nextInt(100)));
              g.drawString(rand,13*i+6,16);
              
              }
              session.setAttribute("rCode","sRand");
              //图片绘制
              g.dispose();
              ImageIO.write(image,"JPEG",response.getOutputStream());
              out.clear();
              out = pageContext.pushBody();
          
          
          %>
    
         
         
      </body>
    </html>
    <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
      </head>
      
      <body>
       <img src="yanzhengma.jsp"/>
      </body>
    </html>
  • 相关阅读:
    maven学习(七)——使用maven构建java项目
    Java 实现word 中写入文字图片的解决方案
    postman中如何传数组
    char类型在传参时接收不到数据的原因
    Oracle一条数据多表连插
    Spring Cloud Config的配置中心使用非对称性加密
    Failed to read artifact descriptor for org.springframework.cloud:spring-cloud-starter-config:jar:unk
    如何上传文件到git
    Windows的DOS命令
    ideal的maven项目不小心remove module,如何找回
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/4864709.html
Copyright © 2011-2022 走看看