2009年下半年全国计算机等级考试你准备好了没?考计算机等级考试的朋友,2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在百考试题论坛百考试题在线题库 现在许多系统的注册、登录或者发布信息模块都添加的随机码功能,就是为了避免自动注册程序或者自动发布程序的使用。 验证码实际上就是随机选择一些字符以图片的形式展现在页面上,如果进行提交操作的同时需要将图片上的字符同时提交,如果提交的字符与服务器session保存的不同,则认为提交信息无效。为了避免自动程序分析解析图片,通常会在图片上随机生成一些干扰线或者将字符进行扭曲,增加自动识别的难度。 在这里,我们使用servlet来实现随机验证码的实现。 package com.servlet. import java.awt.Color. import java.awt.Font. import java.awt.Graphics2D. import java.awt.image.BufferedImage. import java.util.Random. import javax.imageio.ImageIO. import javax.servlet.ServletException. import javax.servlet.ServletOutputStream. import javax.servlet.http.HttpServlet. import javax.servlet.http.HttpServletRequest. import javax.servlet.http.HttpServletResponse. import javax.servlet.http.HttpSession. /** * 生成随机验证码 * * */ public class ValidateCodeServlet extends HttpServlet { private static final long serialVersionUID = 1L. //验证码图片的宽度。 private int width=60. //验证码图片的高度。 private int height=20. //验证码字符个数 private int codeCount=4. private int x=0. //字体高度 private int fontHeight. private int codeY. char[] codeSequence = { 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 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }. /** * 初始化验证图片属性 */