A应用Struts-Config.xml:
 ...
   <action path="/tuexdoMessage" forward="http://10.0.125.24:7001/InfoJsp.jsp"></action>
 ...
(说明:A应用使用了框架,left frame为功能菜单,right frame为主页面)我在 A 应用中通过点击功能菜单的连接跳到 B 应用的指定页面InfoJsp.jsp,但是当返回点击A应用的其他链接时就会提示系统未登陆.明显是Session丢失了.请问struts action标签有什么参数可以实现跨应用访问,而不丢失Session

解决方案 »

  1.   

    可以在页面跳转之前先写一个判断值到一个文件,然后在跳转之后再读取。判断是否有值,再新建session。
      

  2.   

    Session是由容器管理的像
    <action path="/tuexdoMessage"forward="http://10.0.125.24:7001/InfoJsp.jsp"></action>
    你已经跳出了Session所在的容器了,当你从别的页面回来的时候容器又会给你创建一个新的Session
      

  3.   

    我补充一下:
    InfoJsp.jsp这个页面只是在A应用的frame框架中显示.容器是用的weblogic9,目前情况是如果weblogic单服务器环境下,就没有问题,返回点击A应用的其他链接时,可以正常进入.
    但是如果用到weblogic群集就会出现上面 说的问题,提示要重新登陆
      

  4.   

    session是不能跨应用的,各个独立的应用是没有办法共享session的,你可以通过其他方式进行传递,譬如request等
      

  5.   

    weblogic群集是支持session同步的
      

  6.   

    weblogic群集是支持session同步的??
    我到市美有听说过 我也很感兴趣 我原来写过一个
    群集服务器的jsp 他们之间的交互就是url的从写
    比较麻烦 如果可以同步Context 那可就省事多了
    你可以教教我吗???[email protected]是我的邮箱谢谢了在补充一下我同意
    Session是由容器管理的像
    <action path="/tuexdoMessage"forward="http://10.0.125.24:7001/InfoJsp.jsp"></action>
    你已经跳出了Session所在的容器了,当你从别的页面回来的时候容器又会给你创建一个新的Session
    这个观点
    你可以看看你说的weblogic群集是支持session同步
    到底有没有生效
      

  7.   

    通过隐含参数请求咯。跨应用的session是不能共享的
      

  8.   

    session同步应该是群集的基本要求吧~否则当一台机器down掉的时候,另一台如何接管
      

  9.   

    忘了说明一点.<action path="/tuexdoMessage"forward="http://10.0.125.24:7001/InfoJsp.jsp"></action>中的应用使用了ejb的SessionBean
      

  10.   

    回复人: songxin19811225(haha) ( ) 信誉:100  2006-1-25 11:20:32  得分: 0  
     
     
       
    Session是由容器管理的像
    <action path="/tuexdoMessage"forward="http://10.0.125.24:7001/InfoJsp.jsp"></action>
    你已经跳出了Session所在的容器了,当你从别的页面回来的时候容器又会给你创建一个新的Session
      
     
    ----------------------------------
    我也没有仔细研究过这个问题,
    不过感觉,songxin19811225(haha)这个说法,很有道理!如果你要在不同的应用之间,共享信息,可以考虑其他的方法,比如把信息暂时存储在
    .xml 文件中,等
      

  11.   

    session的同步有很多服务器集群是支持的.
    http://www.theserverside.com/articles/article.tss?l=J2EEClustering
      

  12.   

    Session是域管理的.我的两个应用都在一个域中.从一个应用跳到另一个应用的时候
    可以把Session也传递过去.另一个应用也可以使用这个Session.我在Weblogic下测试是可以的.另外我上面贴出的问题可能误导大家.实际上现在主要的问题是:一台单机Weblogic中两个应用之间通过连接跳转是能正常的.Session会通过URL转到另一个应用中.但是当用于两台Weblogic群集的时候当从一个应用跳到另一个应用就会丢失Session