zoukankan      html  css  js  c++  java
  • 验证码代码

    新建一个jsp页面然后把下面代码复制粘进去,在你需要的页面里新建一个img标签的src中引用下面的jsp页面

    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ page contentType="image/jpeg"  import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
    <%!
        public Color getColor(){
            Random random = new Random();
            int r = random.nextInt(256);//0-255
            int g = random.nextInt(256);
            int b = random.nextInt(256);
            return new Color(r,g,b);
        }
        public String getNum(){
            String str = "";
            Random random = new Random();
            for(int i=0;i<4;i++){
                str += random.nextInt(10);//0-9
            }
            return str;
        }
    %>
    <%
        response.setHeader("pragma", "mo-cache");
        response.setHeader("cache-control", "no-cache");
        response.setDateHeader("expires", 0);
        
        BufferedImage image = new BufferedImage(80,30,BufferedImage.TYPE_INT_RGB);
        
        Graphics g = image.getGraphics();
        g.setColor(new Color(200,200,200));
        g.fillRect(0,0,80,30);
        
        
        for (int i = 0; i < 30; i++) {
            Random random = new Random();
            int x = random.nextInt(80);
            int y = random.nextInt(30);
            int xl = random.nextInt(x+10);
            int yl = random.nextInt(y+10);
            g.setColor(getColor());
            g.drawLine(x, y, x + xl, y + yl);
        }
        
        
        g.setFont(new Font("serif", Font.BOLD,16));
        g.setColor(Color.BLACK);
        String checkNum = getNum();//"2525"
        
        StringBuffer sb = new StringBuffer();
        for(int i=0;i<checkNum.length();i++){
            sb.append(checkNum.charAt(i)+" ");//"2 5 2 5"
        }
        g.drawString(sb.toString(),15,20);
        
        session.setAttribute("CHECKNUM",checkNum);//2525
        
        ImageIO.write(image,"jpeg",response.getOutputStream());
        out.clear();
        out = pageContext.pushBody();
    %>
  • 相关阅读:
    Java 编程基础
    LING 实战
    C# 3.0\3.5 新特性
    EF Code First 入门
    C# 4.0 新特性
    JavaScript学习(二)
    JavaScript学习(一)
    csdn的blog后台程序的导航菜单的实现
    HashTable的遍历
    开通啦
  • 原文地址:https://www.cnblogs.com/ShaoXin/p/7412838.html
Copyright © 2011-2022 走看看