问题描述:我在A 应用程序里 通过httpClient 访问B应用程序. 在B应用程序里 有写入cookie 的方法.(该过程主要是模拟登陆).  
  然后我在浏览器地址栏中 访问B应用程序的主业务地址. 发现取不到之前设过的cookie值.  但都是用的同一个浏览器.为什么取不到cookie呢? 请问各位大侠. 怎样才能获取到相同的cookie值???

解决方案 »

  1.   

    1. cookie具有路径访问问题——只能被同一目录或其子目录下的servlet/jsp访问到(这里说的目录是配置时设置的url)
    2. 你在添加cookie时没有设置其生命周期或设置的时间<=0
      

  2.   

    这和我没设生命周期 有什么关系.? 我设置cookie存活期为浏览器内存中. 时间《=0是 对的
      

  3.   

    这和我没设生命周期 有什么关系.? 我设置cookie存活期为浏览器内存中. 时间《=0是 对的
      

  4.   

    楼主,,看我前天总结的博客:http://blog.csdn.net/wangbaoyin/article/details/7759069看后你就知道了
      

  5.   

    你搞错了吧?Cookie是存储在Client端的,一般来说就是存储在浏览器的。
    你用HttpClient连接B系统,那么Cookie将返回给HttpClient,HttpClient会在内存中维护它。接下来你用浏览器访问B系统,浏览器当然没有HttpClient关于B系统的Cookie信息。
    所以楼主你注意到,单点登录一般都需要在跳转URL上带一个超长的Token,来传递相关信息,并完成B系统的自动登录。建议你了解下开源的单点登录组件:cas