package cn.mycs.core.util; import cn.mycs.core.support.HttpKit; import cn.mycs.core.support.StrKit; import com.alibaba.fastjson.JSON; import org.springframework.beans.factory.annotation.Autowired; import java.util.UUID; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * key工具类 * @author wupeiguo * @date 2019-02-01 17:40:12 */ public class KaptchaUtil { /*** * 拼接 Redis key * @return key */ public static String getRedisKey() { String key = getCookieKey(); if(StrKit.isEmpty(key)){ key = setCookieKey(); } return "KAPTCHA:KEY:" + key; } /*** * 获取 Cookie 中的 uuid * @return uuid */ private static String getCookieKey(){ String key = ""; HttpServletRequest request = HttpKit.getRequest(); // 读取cookie Cookie[] cookies = request.getCookies(); if (cookies != null) { // 遍历数组 for (Cookie cookie : cookies) { if (cookie.getName().equals("cookiesReplyKey")) { // 取出cookie的值 key = cookie.getValue(); System.out.println("cookiesReplyKey :"+key); break; } } } return key; } /*** * 生成 uuid 保存到 Cookie 并返回 uuid * @return uuid */ private static String setCookieKey(){ //uuid String key = UUID.randomUUID().toString(); // 创建cookie 记录当前时间 Cookie cookie = new Cookie("cookiesReplyKey", key ); // 如果你配置请求 没有一级目录 这样全网站所有的网址请求都能找到你这个cookie // cookie.setPath("/"); // 设置cookie存活时间 // 负值表示 浏览器关闭 cookie消失 // 正值表示 存活的时间 // 0 表示 删除cookie cookie.setMaxAge(-1); // 把cookie添加进响应当中 HttpServletResponse response = HttpKit.getResponse(); response.addCookie(cookie); return key; } }
Cookie:java 获取、写入 Cookie
最新推荐文章于 2024-06-29 02:55:08 发布