java - 在java中获取cookie值

标签 java cookies

我已经在我的 JSP 中像这样初始化了 cooke,

String timeStamp = new SimpleDateFormat("dd:MM:yyyy_HH:mm:ss:SSS").format(Calendar.getInstance().getTime());
timeStamp = timeStamp + ":" + System.nanoTime();
String loc = "/u/poolla/workspace/FirstServlet/WebContent/WEB-INF/"+timeStamp;
Cookie thecookie = new Cookie("thecookie", loc);
thecookie.setMaxAge(60*60*24);
response.addCookie(thecookie);

因此,所有创建的 cookie 将具有相同的名称,但对于不同的用户访问时间具有不同的值。

在 java servlet 结束时我想停用/杀死在 java servlet 开始时传递的 cookie 并说如果他们是 5 个用户并行使用系统我怎么知道为哪个用户停用哪个 cookie在 my.java 的最后?

例如,考虑

User 1 : cookie name `thecookie` value `AAA`
User 2 : cookie name `thecookie` value `BBB`
User 3 : cookie name `thecookie` value `CCC`
User 4 : cookie name `thecookie` value `DDD`
User 5 : cookie name `thecookie` value `EEE`

现在,在 my.java servlet 的末尾,我想停用在 my.java 开始时分配的值为 CCC 的 cookie,而不影响其他 cookie 值,该怎么做?

最佳答案

您使用错误的方法读取 cookie..

Cookie[] cookies = request.getCookies();

if (cookies != null) {
 for (Cookie cookie : cookies) {
   if (cookie.getName().equals("cookieName")) {
     //do something
     //value can be retrieved using #cookie.getValue()
    }
  }
}

用这个。无需检测特定用户的 cookie,只需停用它即可。

关于java - 在java中获取cookie值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22804409/

相关文章:

javascript如何使用表单文本输入更新cookie

browser - Web 浏览器 cookie key 的最大大小是多少?

cookies - "pnctest"cookie 有何用途?

java - Oracle ATG和Struts之间的区别?

java - 如何在java中为准备好的语句添加密码

java - 如何在java中将消费者组添加到消息中?

javascript - 在 Javascript 中设置 Cookie 在值存在时返回未定义

java - 包内包 Java

java - 方法局部变量存储在哪里?

python - Selenium:driver.get_cookies() 返回不完整的 cookie 列表