CookieUtil.java
package verifycode.util;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;
/**
* @author fdse
*/
public class CookieUtil {
private CookieUtil() {
throw new IllegalStateException("Utility class");
}
public static void addCookie(HttpServletResponse response, String name, String value, int maxAge){
Cookie cookie = new Cookie(name,value);
// against Cross-Site Scripting (XSS) attacks.
cookie.setHttpOnly(true);
cookie.setPath("/");
if(maxAge>0) {
cookie.setMaxAge(maxAge);
}
response.addCookie(cookie);
}
public static Cookie getCookieByName(HttpServletRequest request, String name){
Map<String,Cookie> cookieMap = readCookieMap(request);
return cookieMap.getOrDefault(name, null);
}
private static Map<String,Cookie> readCookieMap(HttpServletRequest request){
Map<String,Cookie> cookieMap = new HashMap<>();
Cookie[] cookies = request.getCookies();
if(null!=cookies){
for(Cookie cookie : cookies){
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}
}