1. 程式人生 > >同一臺伺服器,安裝兩個Tomcat,同一路徑不同埠號,同一瀏覽器下不能同時訪問問題

同一臺伺服器,安裝兩個Tomcat,同一路徑不同埠號,同一瀏覽器下不能同時訪問問題

問題描述:
當用同一臺伺服器,不同的埠來區分兩個同名專案時(localhost一樣,埠不同),在同一個瀏覽器下同時登入同一個賬號,前者登入的專案會跳出系統(意為登入失敗)。

原因分析:
當訪問專案1,這時Tomcat給瀏覽器返回一個JSESSIONID, 同時建立了一個session,此時JSESSIONID成為了使用者訪問此專案Tomcat的會話識別標誌;同理,再新建一個視窗,訪問同Ip、同項目名、不同埠時,瀏覽器會給此專案的Tomcat建立預設的session,訪問後一個專案的時候用了前一個訪問過專案儲存在本地的會話標識JSESSIONID,用此JSESSIONID請求,則此Tomcat裡沒有對應的sessio會話以至於專案登入後很快就彈出(登入失敗)。

**解決方案:
直接改下conf檔案下的server.xml的 context標籤, 給每個專案Tomcat的SessionCookieName=”JSESSIONID_1”設定一個名字(預設是JSESSIONID) 重啟服務即可
例如:
其中一個專案的Tomcat:**
**<Context path="/" docBase="HelloWorld" reloadable="false" sessionCookieName="JSESSIONID_1"></Context>
另一個專案的Tomcat:
<Context path="/" docBase="HelloWorld" reloadable="false" sessionCookieName="JSESSIONID_2"></Context>**