SetCookiesprotected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

for(int i=0;i<3;i++){
Cookie  c = new Cookie("setCookieName:"+i, "setCookieValue"+i);
resp.addCookie(c);

}
//resp.setCharacterEncoding("GBK");
resp.setContentType("text/html;charset=GBK");
PrintWriter pw = resp.getWriter();
pw.println("<html><head><title>设置Cookies</title></head></html>"+
"<body>设置Cookie\n+" +
"<a href=\"ShowCookies\">"+
"查看</a></body>");
}
ShowCookiesprotected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("GBK");
resp.setCharacterEncoding("GBK");
PrintWriter pw = resp.getWriter();
Cookie[] cookies = req.getCookies();
if(cookies!=null){
Cookie c ;
for(int i=0;i<cookies.length;i++){
c = cookies[i];
//pw.println(c.getName()+"<BR>");
pw.println(c.getName()+"<br>"+c.getValue());
}
}
}请问 为什么我ShowCookies中的c.getValue取不到 
而且 c.getName()取出来没有显示后面的i结果是这样的 :
setCookieName
setCookieName
setCookieName
而不是我想要的
setCookieName0
setCookieValue0
setCookieName1
setCookieValue1
setCookieName2
setCookieValue2

解决方案 »

  1.   

    //pw.println(c.getName()+"<BR>");
    我只是怀疑:可能你的新程序没有更新到web服务器上
      

  2.   

    不,我重新复制了Class文件,也重启了Tomcat 还是一个样 真是好奇怪啊 我也觉得代码没问题。。
      

  3.   

    重新部署一次项目,重启一次tomcat。
      

  4.   


    给控制台或者日志输出点东西,然后去Tomcat的日志上看看是否已经输出那些信息,确认一下新的程序确实已经正确发布。
      

  5.   


    Cookie  c = new Cookie("setCookieName:"+i, "setCookieValue"+i);
                resp.addCookie(c);  
    cookie.setMaxAge(10000);
    resp.addCookie(c); 
      

  6.   

    COOKIES 必须在for 中循环 
    在FOR 循环中新建 3个COOK
      

  7.   

    把COOK 放置在ArrayList 中
    ArrayList al=new ArrayList()
    al.add(cooki1);
    al.add(cooki2);
    al.add(cooki3);然后再客户端去打印
    for(int i=0;i<al.size();i++){
      
    }