private static final int COOKIE_MAX_AGE_DAY = 1;
private static final String COOKIE_KEY = "token";
//service层中注入一个httpServletRespone
@Autowired
private HttpServletResponse httpServletResponse;
//主要方法如下
Cookie cookie = new Cookie(COOKIE_KEY, map.get("token").toString()); cookie.setDomain(getMainHost(httpServletRequest.getServerName())); cookie.setHttpOnly(false); cookie.setPath("/"); cookie.setSecure(false);//非http方式 cookie.setMaxAge((int) Duration.ofDays(COOKIE_MAX_AGE_DAY).getSeconds()); httpServletResponse.addCookie(cookie);
//获取主域名方法
public static String getMainHost(String host) { InternetDomainName domainName = InternetDomainName.from(host); if(!host.contains(".")){ return host; } return domainName.topPrivateDomain().toString(); }
//pom中导入一下包
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>15.0</version> <scope>compile</scope> </dependency>