有一个session问题哦  有2个系统  一个是管理系统  另一个是资源共享系统。2个系统是独立的。2个系统整合的时候  是在管理系统上做一个链接 (只是传用户名过去),链接到资源共享系统。资源共享系统有自己的用户表,只要传过来的用户在用户表里存在,就让他登陆系统。并且在首页后台程序把用户的一些信息保存在session。但是别的页面从session中取不到用户信息。这是怎么回事?有人遇见过吗?

解决方案 »

  1.   

    当把一个 session 从一个 jvm 移到另一个 jvm 时, session 会被 passivated 或 activated。不知楼主的问题是不是和 seesion 被 passivated 有关?
      

  2.   

    干脆保存到application里得了,,多省事啊
      

  3.   

    这篇文章描述的情况和楼主的很相似:http://www.fwd.at/tomcat/sharing-session-data-howto.html我试过了,应该能对楼主有所帮助。
      

  4.   


    总结一下文中观点,大体如下:1. 当我们说共享session时,其实是指共享session里的数据而不是session本身。2. 共享session的关键是传递sessionId。传递sessionId有两种方法:a. url传递 b. cookie传递3. Tomcat下想共享session的Web应用要设置:crossContext="true"4. 提供数据的Web应用要把数据放入到ServletContext里: context.setAttribute("shared_userroles", shareddata);5. 使用数据的Web应用要把数据从把数据放入到ServletContext的Web应用的context中取出来:
    Hashtable shareddata = (Hashtable)ssocontext.getAttribute("shared_userroles");
        if (shareddata!=null) {6. 确保使用后删除保存ServletContext中的共享数据。