All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.zcj.web.util.VcodeUtil Maven / Gradle / Ivy

There is a newer version: 1.1.38
Show newest version
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);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy