项目中使用到了Vertx,这里给出一段生成验证码的方法:
@GET("/getCaptcha")
public void captcha(RoutingContext context, Session session) throws IOException {
// 设置禁止缓存
context.response().putHeader("Pragma", "No-cache");
context.response().putHeader("Cache-Control", "no-cache");
context.response().putHeader("Expires", "0");
context.response().putHeader("content-type", "image/jpeg");
String key = CaptchaGenerate.getInstance().generateKey();
session.put("captcha", key);
BufferedImage image = CaptchaGenerate.getInstance().generateImage(key);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(image, "JPEG", bos);
byte[] imageByteDataArray = bos.toByteArray();
Buffer buffer = Buffer.buffer();
buffer.appendBytes(imageByteDataArray);
LOG.info("KEY:"+key);
context.response().end(buffer);
}