Java Cookie添加/删除问题?

Java Cookie添加/删除问题?,java,cookies,spring-mvc,Java,Cookies,Spring Mvc,我的cookie问题在于,在阅读所有cookie并创建新对象并将其分配给Spring View之后,我尝试添加新的cookie和几行,问题是我的cookie没有添加,页面重新加载后所有内容都工作,但不在同一时间 Cookie[] cookies = request.getCookies(); if (cookies != null) { for (int i = 0; i < cookies.length; i++) { if (cookies[i].get

我的cookie问题在于,在阅读所有cookie并创建新对象并将其分配给Spring View之后,我尝试添加新的cookie和几行,问题是我的cookie没有添加,页面重新加载后所有内容都工作,但不在同一时间

    Cookie[] cookies = request.getCookies();
if (cookies != null) {
    for (int i = 0; i < cookies.length; i++) {
        if (cookies[i].getName().equals(
                "proizvod_" + Integer.toString(proizvodiId))) {
            String kolicina_cur = cookies[i].getValue();
            int pom = Integer.parseInt(kolicina_cur);
            cookies[i].setValue(Integer.toString(pom + kolicina));
            response.addCookie(cookies[i]);                     
        }

    }
}

Cookie[] cookiesN = request.getCookies();
ProizvodiCommand proizvodiCommand = new ProizvodiCommand();
if (cookiesN != null) {
    for (int i = 0; i < cookiesN.length; i++) {
        if (cookiesN[i].getName().startsWith("proizvod_")) {
            String ime = cookiesN[i].getName();
            String kolicinaN = cookiesN[i].getValue();
            String id_s = ime.replace("proizvod_", "");
            int id = Integer.parseInt(id_s);
            // prepare for spring view....
        }


    }
}
Cookie[]cookies=request.getCookies();
如果(cookies!=null){
for(int i=0;i
为了更好地查看,我删除了几行spring数据准备

当我尝试删除cookie并收集所有现有cookie时,同样的问题也会发生。在下面几行中,它在页面重新加载后工作

我试图增加一些延迟,但没有帮助…如果有人有解决方案,请与我分享:)


谢谢

如果我没弄错的话,您可以阅读请求附带的cookie,而不是将cookie添加到响应中。然后期望在随请求而来的cookie中看到添加的cookie…

首先,您发布的代码看起来只是修改已经存在的cookie,而不是添加新的cookie

其次,每次调用
request.getCookies()
都会在单个请求期间返回相同的cookie/值对集。因此,您的第二块代码看不到您的新cookie

尝试以下更改(在第二段代码中):

Cookie[]cookies=request.getCookies();
如果(cookies!=null){
for(int i=0;i
如果有帮助,整个代码都在handleRequest()方法中。试想一下,今天早些时候有人问了一个问题,为什么.NET会根据其响应cookie更新其请求cookie。您在调试器中看到了什么?
Cookie[] cookies = request.getCookies();
if (cookies != null) {
    for (int i = 0; i < cookies.length; i++) {
        if (cookies[i].getName().equals(
                "proizvod_" + Integer.toString(proizvodiId))) {
            String kolicina_cur = cookies[i].getValue();
            int pom = Integer.parseInt(kolicina_cur);
            cookies[i].setValue(Integer.toString(pom + kolicina));
            response.addCookie(cookies[i]);                     
        }

    }
}

ProizvodiCommand proizvodiCommand = new ProizvodiCommand();
if (cookies != null) {
    for (int i = 0; i < cookies.length; i++) {
        if (cookies[i].getName().startsWith("proizvod_")) {
            String ime = cookies[i].getName();
            String kolicinaN = cookies[i].getValue();
            String id_s = ime.replace("proizvod_", "");
            int id = Integer.parseInt(id_s);
            // prepare for spring view....

    }
}