两tomcat上都有一个项目,不知道能不能去得到对方的session

解决方案 »

  1.   

    楼主可以参考关于Tomcat集群方面的资料去搜搜应该有不少
      

  2.   

    看看session定义吧,应该不行吧
      

  3.   

    其实还是可以的如果你两个Tomcat上都是一个相同的应用,那么楼主的问题实际是集群的问题如果你两个Tomcat上的应用是不同的,可以通过开放webservice的方式,提供对外的接口,从而提供本地服务上的Session信息。
      

  4.   

    使用集群方式是可以的,以前做个这么一个例子,你去百度下 apache+tomcat集群。应该有。
      

  5.   

    是我上面没有表达清楚,两Tomcat上的项目都不同的
      

  6.   

    算是个实现思路吧。第一步,两个应用上,都要注册Session监听器。估计使用到的监听器接口有1、HttpSessionListner,用于监听HttpSession的创建和销毁2、HttpSessionAttribueListner ,用于监听HttpSession中Attribute的添加、修改和删除事件楼主自己写类,实现这两个接口里的方法。实现的方式1、在HttpSessionListener中,创建方法里,保存SessionID信息,在销毁方法里,根据SessionID信息,删除对应的数据2、在HttpSessionAttributeListener 中,添加方法里,根据SessionID,存储添加的数据和属性。修改和删除都是一样的,根据SessionID去做对应的操作具体的存储介质和方式,楼主可以根据实际情况,选择数据库,硬盘文件,或者内存中放Map的方式,随你怎么弄最后,在web.xml中注册这两个监听器。这样,Session中的数据存储就可以了。第二步,是写一个查询的接口。我不知道楼主在两个应用之间要共享的信息都有什么。这部分,等楼主给出具体需求,我再做相应的说明。主要是因为不同的应用类型以及不同的负载压力都对存储和查询有不同的要求。但是,至少,我们现在有了Session中信息的存储,查询不会太麻烦。你可以写成带配置文件的(xml或者properties随你选),打出个jar包,多个工程都可以用。第三步,写WebService,依赖第二步中写的查询接口定义好双方的数据交互格式。XFire还是Axis看楼主的爱好了。当然,楼主要是不喜欢WebService的话,也可以来点其他的,比如Socket,Http信息的加密字符串,或者JMS等等。
    打完收工~~~
      

  7.   

    当然可以了.
    1:只用集群;
    2:使用第3方结构,比如说memcached,很简单的.建议使用第2种