java如何生成验证码呢

Java生成验证码的流程是:

java如何生成验证码呢

收到请求->生成验证码所用的随机数->使用随机数写出图片->将随机数记录到Session中->输出验证码

Java验证验证码的流程是:

收到请求->获取用户传过来的验证码数字->验证是否正确->输出验证结果

下面通过一个例子来展示验证码的'生成流程,该例子使用基本Java Spring框架的Rest接口,可以使用任何平台来获取验证码:

服务器处理验证码的例子:

1.接收验证码请求:

/*** 接收验证码请求*/@RequestMapping(value="captchacode")public void CaptchaCode(){ try { CaptchaCodeModel captchaCodeModel=new CaptchaCode()ode(); //将验证码放到Session中 HttpServletRequest httpServletRequest=equest(); ession()ttribute("captchacodekey", aptchaCode()); //将图片写到客户端 HttpServletResponse httpServletResponse=esponse(); //禁止缓存 eader("Pragma", "no-cache"); eader("Cache-Control", "no-cache"); ateHeader("Expires", 0); ServletOutputStream servletOutputStream=utputStream(); //输出图片 e(aptchaImage(), "jpeg", servletOutputStream); e(); } catch (Exception e) { ("验证码生成失败:"+essage()); }}

2.生成验证码并生成图片:

public class CaptchaCode {private int width = 90;// 定义图片的widthprivate int height = 20;// 定义图片的heightprivate int codeCount = 4;// 定义图片上显示验证码的个数private int xx = 15;private int fontHeight = 18;private int codeY = 16;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 };