同样的代码,登录(LoginAction)的时候可以,,注册(RegisterAction)的时候就不可以创建Cookie~代码如下:RegisterAction.java                      public ActionForward saveUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {                        ...........                       //删除cookie
this.removeCookie(request,response,user);
//创建新cookie
Cookie kukeuid = new Cookie(user.getId(), DesMgr.str2des(user.getName()+","+user.getPassword()));
kukeuid.setDomain("kuke.com");
kukeuid.setMaxAge(600); 
response.addCookie(kukeuid);                        return mapping.findForward("finsh");
                       }
                        代码如下:LoginAction.java
                      public ActionForward Login(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {                        ...........                       //删除cookie
this.removeCookie(request,response,user);
//创建新cookie
Cookie kukeuid = new Cookie(user.getId(), DesMgr.str2des(user.getName()+","+user.getPassword()));
kukeuid.setDomain("kuke.com");
kukeuid.setMaxAge(600); 
response.addCookie(kukeuid);                        ActionForward newActionForward = new ActionForward(returnUrl, true);
        return newActionForward;
                       }
                        

解决方案 »

  1.   

    建议在这个Action跳转的页面用javascript创建cookie
      

  2.   

    加上这个试试kukeuid.setPath("/");
      

  3.   

    看看user.getId() 值对不,取的时候那个值对不。
      

  4.   

    对的,,什么都不错,,我都debug过了~~就是创建不了,,真奇怪了
      

  5.   

     Cookie kukeuid = new Cookie(user.getId(), DesMgr.str2des(user.getName()+","+user.getPassword()));user.getId(),你注册的时候这个id已经存在了吗??
      

  6.   

    Cookie c = new Cookie("agent_area_name",URLEncoder.encode(agent_area_name));
           c.setMaxAge(24*60*60);
           response.addCookie(c);
      

  7.   

    cookie 可以创建了,,但是在struts2中的拦截器还是无法取到其中的一个cookiecookie代码如下:
    一、
    27BF70A0CB1D11DCB0A0ADE14EB8C105
    B771B4EADE91AA9D4820176C30B71973
    kuke.com/kuke/
    1024
    4164135040
    29992635
    815281776
    29992619
    *
    二、
    27BF70A0CB1D11DCB0A0ADE14EB8C105
    B771B4EADE91AA9D4820176C30B71973
    kuke.com/kuke/mine/
    1024
    4164135040
    29992635
    815281776
    29992619
    *
    拦截器代码:               Cookie[] cookies = request.getCookies(); // 获取cookies数组
    String id=request.getParameter("userId");
    String SSOAuthStr=null,desSSOAuthStr=null;
    if (cookies != null) // 判断cookie中是否有内容
    {
    for (int i = 0; i < cookies.length; i++) {
    try {
    if (cookies[i].getName().equals(id)) {
    SSOAuthStr = cookies[i].getValue(); }
    } catch (Exception e) {
    Logger.error("get SSOAuth error!");
    }
    }
    }