怎么在一个tomcat上的几个web应用之间共享session

如何在一个tomcat下的几个web应用之间共享session

我们采取的是集中管理的办法。主要技术:

1.设置Context 的crossContext="true",使得各个web应用的servletcontext是可以互访的

       <Host name="localhost" appBase="webapps"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
<Context path="/SessionManager" reloadable="true" crossContext="true"></Context>
<Context path="/SessionManagerTest1" reloadable="true" crossContext="true"></Context>
<Context path="/SessionManagerTest2" reloadable="true" crossContext="true"></Context>

2.主动设置cookies,设置jsessionid为被共享的session的id,统一利用requestsessionid在指定的一个servletcontext里的一个map查找对于的session,需要存取attribute都对取得的session操作

3.用监听器监听属性的失效