情况是这样的,系统A中的一个页面中的ifram 标签中的src="系统B的登录处理的action方法?用户名='用户名值'&密码="密码值",如果是将2个系统部署在两台电脑上,src中的系统B在登录处理的action方法中用session保存用户信息后,在跳转后session就丢失了,导致系统A的ifram包含的一直是系统B的登录页面.如果是部署在一台电脑上是正常的,会在系统A中显示系统B的操作页面.

解决方案 »

  1.   

    再次说明下是被引用的系统B的session登录成功session保存后,在跳转的过程中session丢失了,拦截器就又将返回到登录页面了.即部署在两台电脑上B系统的session保存后在跳转的过程又丢失了.
      

  2.   

    同一个界面想保持两个系统的会话信息,你需要为两个系统设置不同的sessionId标识,在tomcat6,7中这个值可以修改的。
    如A系统为jsessionIdA,B系统为jsessionIdB,
    不然的话,你同一个界面两个系统都设置的同一个jsessionId会互相冲掉的。配置值,好像叫sessionCookieName
      

  3.   

    不明白session怎么丢失了,难不成超时了。。
      

  4.   

    但是我将两个系统放在一台电脑上,用两个tomcat就没有问题,可以正常显示系统B中的页面.
      

  5.   

    不是session超时,被引用的系统B的session登录成功session保存后,在跳转的过程中session丢失了,拦截器就又将返回到登录页面了.一直是B系统的session丢失.
      

  6.   

    比如你在第三台电脑对第一台电脑上的系统A做访问 SERVER A产生SESSIONID A保存,从系统A访问到系统B,系统B在SERVER B寻找是否有SESSIONID B,找不到就到登录页面处理。如果在同一台机子部署不会有这个问题,在同SERVER中能找同一个SESSIONID的
      

  7.   

    将internet工具中的隐私设置到最低,接受所有网站的cookie。
      

  8.   

    很简单的道理用户是从A登录到B,虽然在B上建立的SESSSION,但在A页面跳转后,系统自动认为用户与B连接丢失,session立即失效解决方法,暂提三种
    1、判断是否连接时把jsessionId传过去
    2、B中用cookie
    3、不用iframe,用UrlConnection