gpt4 book ai didi

java - 为什么我的 cookie 值没有设置?

转载 作者:行者123 更新时间:2023-11-28 22:37:51 35 4
gpt4 key购买 nike

我在 Tomcat 7 服务器上执行了以下 Java Servlet 代码。它应该计算来自单个浏览器的请求。这必须使用 cookie 而不是使用 SessionAttributes 来完成。代码:

@WebServlet("/")
public class CookieTestServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Cookie[] cookies = req.getCookies();
int count = 0;

if (cookies != null) {
for (Cookie c : cookies) {
if (c.getName() == "count") {
count = Integer.parseInt(c.getValue());
}
}
}
++count;
resp.addCookie(new Cookie("count", "" + count));
System.out.println(count);
}
}

运行多次后(刷新浏览器)Tomcat控制台总是输出1,看来无论我发送多少请求,cookie值始终为0,我做错了什么?

最佳答案

尝试像这样比较字符串:

if(c.getName().equals("count"))

与针对相同字符串的 == 测试相比,您很可能正在处理恰好具有相同内容的两个不同字符串。

在此之后,您会发现它可能仍然无法正常工作:无法保证 cookie 的顺序,因此您可能想要查找获得的最大值,而不是仅仅记住您看到的最后一个 cookie 值...

关于java - 为什么我的 cookie 值没有设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20611361/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com