场景描述:Https下登录页面,首先验证码存入cookie,用户输入验证码然后与cookie中的验证码对比,但是在服务端获取不到cookie,request.getCookies()为null;

过程分析:

    查找后发现如果将浏览器Cookie清空,可以获取Cookie,于是用工具查看cookie的信息,发现maxage失效,原因分析:第一次产生cookie是在https下,第二次由http-https后,cookie跨域了,maxAge失效

解决方案:在产生cookie的代码中始终new  Cookie;

      即在创建cookie的代码中去除判空,原先:

    if(iCookie==null){
                iCookie = new Cookie("captcha", cookieValue);
            }else {
                iCookie.setValue(cookieValue);
            }

          改为:

      iCookie = new Cookie("captcha", cookieValue);

      

posted on 2013-05-10 17:30  NeverGiveUp_ZONE  阅读(4640)  评论(0编辑  收藏  举报