首页 > 代码库 > 使用request.getContextPath()设置Cookie路径问题

使用request.getContextPath()设置Cookie路径问题

今天做项目遇到一个问题:

某个项目需要自动登录,后台实现是将用户名和密码写入到cookie。本地测试通过,但是部署在服务器上的时候遇到一个问题,就是在IE下勾选上自动登录项,当再次登录的时候获取设置的cookie的值无法取到,经过研究发现本地和服务器的区别在于服务器访问没有项目名称也就是IP+端口访问,经过仔细研究找到的解决方案。


我们后台设置cookie的时候这这样设置的

    Cookie cookie = new Cookie(name, value);
        cookie.setMaxAge(cookieTimeOut);
        cookie.setPath(request.getContextPath());//c出错的原因主要在这里
        response.addCookie(cookie);

这样就导致如果没有项目名称

request.getContextPath()
或者的值为"",这样设置在IE下就出现了问题
找到问题原因解决起来就比较方便了,直接设置path为/即可解决问题