一个Java类:

package com.abc.ufo.util;import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.OutputStream;
import java.util.Random;import javax.imageio.ImageIO;public class ImageMaker{private char map[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9'};public String getImage(int width,int height,OutputStream os){BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics g=image.getGraphics();g.setColor(new Color(0xDCDCDC));g.fillRect(0, 0, width, height);StringBuilder sb=new StringBuilder();for(int i=0;i<4;i++){sb.append(map[(int)(map.length*Math.random())]);}String text=sb.toString();g.setColor(Color.black);g.setFont(new Font("Arial",Font.PLAIN,36));g.setColor(Color.red);String str=text.substring(0,1);g.drawString(str, 18, 32);g.setColor(Color.blue);str=text.substring(1,2);g.drawString(str, 60, 32);g.setColor(Color.red);str=text.substring(2,3);g.drawString(str, 95, 32);g.setColor(Color.blue);str=text.substring(3,4);g.drawString(str, 125, 32);g.setColor(Color.gray);Random rand=new Random();for(int i=0;i<20;i++){int x=rand.nextInt(width);int y=rand.nextInt(height);g.drawOval(x, y, width, height);}g.setColor(Color.black);g.drawRect(0, 0, width-1, height-1);//g.drawLine(width-2, 0, width-2, height);
        g.dispose();try{ImageIO.write(image, "JPEG", os);}catch(Exception e){//e.printStackTrace();
        }return text;}
}

JSP:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="image/jpeg" %>
<jsp:useBean id="image" scope="page" class="com.abc.ufo.util.ImageMaker"/><%String str=image.getImage(160,40,response.getOutputStream());session.setAttribute("verifyCode",str);out.clear();  out = pageContext.pushBody();
%>

页面使用:

<div class="page-container"><logic:present name="error"><h2><bean:write name="error"/></h2></logic:present><h1>Login</h1><form action="login.html" method="post"><input type="text" id="usernameTxt" name="username" class="username" placeholder="Username"><input type="password" id="passwordTxt" name="password" class="password" placeholder="Password"><input type="text" id="verifyCodeTxt" name="verifyCode" class="verifyCode" placeholder="Verification code"><p><br/>No Zero in the verification code</p><img src="pages/user/login/image.jsp"/> <!-- 这个路径就是前面jsp的路径 --><button id="submitBtn">Sign me in</button><div class="error"><span>+</span></div></form><div class="connect" style="display:none"><p>Or connect with:</p><p><a class="facebook" href=""></a><a class="twitter" href=""></a></p></div></div>

页面效果:

以前积攒的一个用Java程序生成验证码的代码相关推荐

  1. java语音验证码_Java代码示例_Java语音验证接口 | 微米-中国领先的短信彩信接口平台服务商...

    Java语音验证接口代码示例 请求 import java.util.HashMap; import java.util.Map; public class IvrDemo { /** * 语音验证接 ...

  2. java手机验证码登录代码_java web实现手机短信验证码登录实例

    运行环境 jdk7+tomcat7 项目技术(必填) Servlet+Ajax+Bootstrap 数据库文件 我这里没用到数据库,比较简单,如果需要用到数据库不会的话可以私信我或者加我QQ jar包 ...

  3. 注册与验证码php源代码,一个简单的PHP验证码实现代码

    实现代码: //将验证码保存到session里,供全局使用 session_start(); $nums = ""; for($i=0;$i<4;$i++){ //产生随机数 ...

  4. java语言打印1到10的偶数_#Java编程# 编写一个应用程序创建两个线程,一个线程打印输出1~100之间所有的奇数,另外一 求写一个用JAVA求1~...

    import java.util.Random; class A extends Thread { \tint i=1; \tRandom r=new Random(); \tpublic void ...

  5. 真香!推荐一个超级简单 Java 图形验证码模块

    简介 Java图形验证码,支持Gif.中文.算术等类型,可用于Java Web.JavaSE等项目. 效果展示 集成项目 maven方式引入: <dependencies><depe ...

  6. java生成验证码实例_Java生成验证码功能实例代码

    页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_te ...

  7. 打包java程序生成exe

    打包java程序生成exe 目标 我们知道c++的控制台程序编译运行以后就会生成一个exe可执行文件,在电脑上可以直接双击运行,但是java是跨平台的语言,编译运行以后的字节码文件.class是和平台 ...

  8. 使用Java制作验证码

    验证码介绍 验证码(CAPTCHA)是"Completely Automated Public Turing test to tell Computers and Humans Apart& ...

  9. Java实现验证码制作

    1.验证码概述 2.使用Servlet实现验证码的步骤 制作验证码用到的类: 1.BufferedImage图像数据缓冲区 2.Graphics绘制图片 3.Color获取颜色 4.Random生成随 ...

  10. 牛腩新闻系统--.NET使用一般处理程序生成验证码

    此文章转载牛腩老师的博客:.NET使用一般处理程序生成验证码 正在看牛腩老师的视频,里面介绍了一个讲解如何创建验证码的例子,所以记下来,运行起来的效果图如下: 下面开始介绍代码: HTML代码: &l ...

最新文章

  1. error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. 的解决方法
  2. ubuntu下查看IP Gateway DNS信息
  3. python No tests were found问题解决方法
  4. python电脑上怎么下载-python下载文件的三种方法
  5. Activiti第二篇【管理流程定义、执行任务和流程实例、流程变量】
  6. 异步通知实验(信号)
  7. redis版本_全球首发|阿里云正式推出云数据库Redis6.0版本
  8. caffe.net matlab,windows-matlab环境下,生成的caffe模型无法运行
  9. python安装pyltp_windows 安装pyltp详细教程
  10. python应纳税额计算公式_起征点上调至5000后,最新、最简个税计算Excel公式来了!...
  11. 【javafx】如何java查询12306火车票剩余数量
  12. UDIMM和RDIMM内存条区别
  13. 时光荏苒,岁月静好-----2013年终总结
  14. 国外LEAD联盟,S联盟被关联
  15. 一波三折的卖身路,网易考拉去向何方
  16. 计算机中英文打字文章,中英文混合文章
  17. android电池电量更新,android 电池(三):android电池系统
  18. HTML 5 参考手册,HTML 5 标准属性,HTML 5 事件属性
  19. 3D角色硬表面建模技巧与思路分享【上】
  20. 游戏开发笔记(二)——开发流程和项目管理

热门文章

  1. Atitit. 异常的使用总结最佳实践java .net php Vo8f
  2. Paip.Php Java 异步编程。推模型与拉模型。响应式(Reactive)”编程FutureData总结... 1
  3. paip.杀不死进程的原因--僵尸进程的解决.txt
  4. paip.验证码识别----判断汉字还是英文
  5. paip.css的覆盖
  6. paip.C#.NET利用WebBrowser获取完整COOKIE
  7. python生成公共包(SDK)
  8. 明汯投资掌门人裘慧明:今年特别难,未来两三年也难
  9. Julia: 用PyPlot画Arrow以及策略信号的表达
  10. 阿里云原生专家复礼:多活容灾建设思路与经验分享