前因
- 在同一個服務器上搭建多個tomcat項目,例如A和B。在瀏覽器訪問A項目和B項目時,先登陸A項目在登錄B項目。這時候A項目刷新後會回到登錄頁面,須要從新登錄的現象。在不一樣瀏覽器上實驗結果都同樣。
調查結果
- 通過網上相關材料調查,是因爲在同一個IP下面多個tomcat的cookie名稱一致,IP一致會被認爲是同一個域,接收了B的set-cookie指令,把對應的cookie內容覆蓋了,其中包括jsessionid,形成A的session丟失。
解決方案
- 將項目分服務器部署
- 指定不一樣tomcat的cookie名稱
解決具體步驟
【conf/server.xml】
<Context path="" docBase="ROOT" debug="0" reloadable="false" sessionCookiePath="/" sessionCookieName="cookiename"></Context>
【WEB-INF\Weblogic.xml】
<session-descriptor>
<cookie-name>JSESSIONID1</cookie-name>
</session-descriptor>