com.zcj.web.util.VcodeUtil Maven / Gradle / Ivy
package com.zcj.web.util;
import com.zcj.util.UtilCookie;
import com.zcj.util.UtilImageCode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.IOException;
/**
* 登录验证码工具
*
* @author [email protected]
* @since 2019/2/28
*/
public class VcodeUtil {
private static final Logger logger = LoggerFactory.getLogger(VcodeUtil.class);
// 临时存储登录验证码
private static void saveVcode(HttpServletResponse response, String vcode) {
UtilCookie.setCookie(response, 60 * 5, UtilImageCode.VCODE, vcode);
}
public static void writeVcode(HttpServletResponse response) {
response.setContentType("image/JPEG");
response.setHeader("Pragma", "No-cache");
response.setDateHeader("Expires", 0);
String sRand = UtilImageCode.getRand();
BufferedImage image = UtilImageCode.getCodeImage(sRand);
VcodeUtil.saveVcode(response, sRand);
try {
ImageIO.write(image, "JPEG", response.getOutputStream());
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
// 获取临时存储的登录验证码
public static String getVcode(HttpServletRequest request) {
Object vcode = UtilCookie.getCookieValueByName(request, UtilImageCode.VCODE);
if (vcode != null) {
return String.valueOf(vcode);
}
return null;
}
// 清除临时存储的登录验证码
public static void cleanVcode(HttpServletResponse response) {
UtilCookie.cleanCookie(response, UtilImageCode.VCODE);
}
}