两个系统间要实现单点登录,保存了sessionId 的cookie,同时sendRedirect(URL);我加系统里了一个filter,可是在filter里确得不到Cookie。request.getCookies();得到的是空。请问各位,该如何在filter里得到Cookie呢?
重定向后,cookie是否没有保存成功?
-----------------------------------------------

解决方案 »

  1.   

    是不是重定向后,cookie被清除了??
      

  2.   

    我个人觉得你只存sessionId恐怕不行,因为如果两个系统不是在同一个服务器上如何处理?session你就取不到了。
    再说说你遇到的问题,第一你应该先确认登录的时候你写cookie没有
    我之前是这么写的
    // user为空,说明用户还没有登陆,就尝试得到浏览器传送过来的Cookie
    Cookie cookies[] = request.getCookies();
    String cookieValue = null;
    if (cookies != null) {
    for (int i = 0; i < cookies.length; i++) {
    if (Constance.COOKIE_DOMAIN_NAME.equals(cookies[i].getName())) {
    cookieValue = cookies[i].getValue();
    break;
    }
    }
    }希望对你有用
      

  3.   


    这些我用了,但是一重定向,原来的sessionid丢掉了,就会在filter创建新的cookie,
      

  4.   

    试试别用重定向。用forward,forward带request,跟response对象的。会不会保存cookie呢??
    我也是猜的。
      

  5.   

    必须是重定向,因为要改变域名,原来是用域名,现在改成显示ip的形式
    如果用forward无法做到的
      

  6.   

    帮助
    求解阻止出现两个session