易截截图软件、单文件、免安装、纯绿色、仅160KB

Java 生成验证码


java生成验证码
有很多种方式,在网上也有很多代码,但是那些生成的效果,感觉都不是特别好,所以我在他们的基础上改良了一些。
但能还可以用jmagick ,生成很多很炫的验证码。过两天研究下。先把最近改的这个发布下供朋友们参。
可以先看看样例。最近在做这个网站。大家有兴趣可以叫交流。约会360 网址:  www.yuehui360.com 
验证码效果可以在
约会360注册页面 http://www.yuehui360.com/register.htm 查看效果
图片效果:
 
代码如下:
package com.idate.util;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
/**
* @author lqinglong@yahoo.cn
* 约会360 www.yuehui360.com
*/
public class CodeHelper {

private static final CodeHelper generator = new CodeHelper();

private final String ATTRIBUTE_NAME = "code";
//图片的宽度
private final int WIDTH = 35;
//图片的高度
private final int HEIGHT = 55;
//字符串长度
private final int CODE_LENGTH = 4;
//随机字符串范围
private final String RAND_RANGE = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" ;

private final char[] CHARS = RAND_RANGE.toCharArray();

private Random random = new Random();

private CodeHelper(){
//
}

public static CodeHelper getInstance(){
return generator;
}

/**
* 生成随机字符串
* @return 随机字符串
*/
private String getRandString(){
StringBuilder sb = new StringBuilder();
for (int i = 0; i < CODE_LENGTH; i++)
sb.append(CHARS[random.nextInt(CHARS.length)]);
return sb.toString();
}


相关文档:

传智播客java学习 jpa进阶_ejb初步


我今天学习了徐老师讲的ejb3的知识,我做了简单的笔记:
       上午讲的是jpa的知识,下午讲的是EJB3的知识:
       JPQL语句:hibernate的HQL语句一样。
简单查询:
  Query query = em.createQuery("SELECT c from Customer c");
  retur ......

几个java类的区别

Java面试中,最常被人问到的几个问题:
1. java.util.*包的UML结构图。
2. Vector和ArrayList、LinkedList区别  Hashtable 和 HashMap之间的区别
3. String、StringBuffer,StringBuilder之间区别。
--回答--
1.
Collection
  |
  |_List
  |  |_LinkedList
  |  | ......

Java面试题汇总(基础方面)

1.列举出 10个JAVA语言的优势
a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用
2.列举出JAVA中10个面向对象编程的术语
a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型
3.列举出JAVA中6个比较常用的包
Java. ......

使用java中的 synchronized进行线程同步

在java编程思想中对synchronized的一点解释:
1、synchronized关键字的作用域有二种:
1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个 ......

从今天开始,把java从头至尾好好的梳理一遍!

学java也将近快两年的时间了,之前学过的东西自己感觉有点模糊,理论掌握的不是很透彻,有些问题解决的也不是很全面,为此在大学毕业前夕,想把知识好好的梳理一下,把自己对技术的疑点和一些研究心得写到csdn博客上。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号