【问题标题】:Add another cookie when session is created [duplicate]创建会话时添加另一个 cookie [重复]
【发布时间】:2017-07-12 19:04:49
【问题描述】:
在我用 struts 2 开发的 Web 应用程序(javax.servlet v 2.5 和嵌入式 tomcat 库)中,在创建 HttpSession 时(第一次调用 request. getSession()),我知道 JSESSIONID 旨在识别创建的 http 会话。
现在我想添加更多的cookie,但是我没有找到如何在struts 2框架中添加这个cookie?以及如何在用户注销时将其从响应的 cookie 中删除。
【问题讨论】:
标签:
java
spring
tomcat
struts2
【解决方案1】:
添加cookieName Cookie:
Cookie newCookie = new Cookie("cookieName", "cookieValue");
newCookie.setMaxAge(60*60*24*365); //Store cookie for 1 year
response.addCookie(newCookie);
然后删除它:
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("cookieName")) {
cookie.setValue("");
cookie.setPath("/");
cookie.setMaxAge(0);
resp.addCookie(cookie);
}
}
}