图片验证码
参考资料
图片验证码
图片验证码
Google.Kaptcha生成验证码
简单验证码配置
public Map<String, BufferedImage> createVerificationCode() {
DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
Properties properties = new Properties();
//添加图片配置
properties.setProperty(KAPTCHA_IMAGE_WIDTH, "160");
properties.setProperty(KAPTCHA_IMAGE_HEIGHT, "60");
properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "4");
Config config = new Config(properties);
defaultKaptcha.setConfig(config);
String text = defaultKaptcha.createText();
BufferedImage image = defaultKaptcha.createImage(text);
Map<String, BufferedImage> map = new HashMap<>(1);
map.put(text,image);
return map;
}
Controller获取验证码
@GET
@Path("×××")
public void createCode(@Context HttpServletRequest request, @Context HttpServletResponse response) {
UserService userService = get(UserService.class);
String sessionId = request.getSession().getId();
BufferedImage image = userService.getVerificationCode(sessionId);
try {
ImageIO.write(image, "jpg", response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
}