簡體   English   中英

為什么未設置我的cookie值?

[英]Why is my cookie value not set?

我在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值...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM