职场小白分享心得
在写登录demo时候用到了cookie,当时遇到了个bug就是,已经向Response中设置了cookie但是无法加入到Application中的cookie中。
如果遇到这样的问题,多半是因为Domain设置有误,导致你的Cookie并认为是一个不可用的cookie所以没有存放成功。如果遇到了这样的问题可以考虑去修改一到Domain
public static final void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName, String cookieValue, Integer cookieMaxAge, String encodeString, Boolean httpOnly) {
try {
if(StringUtils.isBlank(encodeString)) {
encodeString = "utf-8";
}
if (cookieValue == null) {
cookieValue = "";
} else {
cookieValue = URLEncoder.encode(cookieValue, encodeString);
}
Cookie cookie = new Cookie(cookieName, cookieValue);
if (cookieMaxAge != null && cookieMaxAge > 0)
cookie.setMaxAge(cookieMaxAge);
//没有域名
if (null != request)// 设置域名的cookie
cookie.setDomain("127.0.0.1");
// cookie.setDomain(getDomainName(request));
cookie.setPath("/");
if(httpOnly != null) {
cookie.setHttpOnly(httpOnly);
}
response.addCookie(cookie);
} catch (Exception e) {
logger.error("Cookie Encode Error.", e);
}
}