java语言 百分网手机站

java如何生成验证码呢

时间:2020-12-07 12:49:42 java语言 我要投稿

java如何生成验证码呢

  Java生成验证码的流程是:

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

  Java验证验证码的流程是:

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

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

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

  1.接收验证码请求:

  /*** 接收验证码请求*/@RequestMapping(value="captchacode")public void CaptchaCode(){ try { CaptchaCodeModel captchaCodeModel=new CaptchaCode().getCode(); //将验证码放到Session中 HttpServletRequest httpServletRequest=super.getRequest(); httpServletRequest.getSession().setAttribute("captchacodekey", captchaCodeModel.getCaptchaCode()); //将图片写到客户端 HttpServletResponse httpServletResponse=super.getResponse(); //禁止缓存 httpServletResponse.setHeader("Pragma", "no-cache"); httpServletResponse.setHeader("Cache-Control", "no-cache"); httpServletResponse.setDateHeader("Expires", 0); ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream(); //输出图片 ImageIO.write(captchaCodeModel.getCaptchaImage(), "jpeg", servletOutputStream); servletOutputStream.close(); } catch (Exception e) { logger.info("验证码生成失败:"+e.getMessage()); }}

  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 };

【java如何生成验证码呢】相关文章:

1.java中全排列是如何生成算法

2.php如何实现验证码

3.JAVA实现生成GUID的方法

4.学习Java语言可以做什么呢

5.java应该如何构造

6.如何编写java程序

7.如何学习JAVA开发

8.新手如何学习Java