1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| @Autowired private Producer captchaProducer;
private final String VALIDATE_CODE = "VALIDATE_CODE";
private final String EXPIRE_TIME = "EXPIRE_TIME";
@RequestMapping(value = "/loadValidateCode", method = RequestMethod.GET) public void loadValidateCode(HttpServletRequest request, HttpServletResponse response) { try { HttpSession session = request.getSession();
response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); response.addHeader("Cache-Control", "post-check=0, pre-check=0"); response.setHeader("Pragma", "no-cache"); response.setContentType("image/png");
long expireTime = System.currentTimeMillis() + 60000; String validateCode = captchaProducer.createText(); session.setAttribute(VALIDATE_CODE, Utils.encodeBase64(validateCode)); session.setAttribute(EXPIRE_TIME, expireTime);
BufferedImage bufferedImage = captchaProducer.createImage(validateCode); ServletOutputStream out = response.getOutputStream(); ImageIO.write(bufferedImage, "png", out); out.flush(); out.close();
} catch (IOException e) { e.printStackTrace(); } }
|