同一台服务器,安装两个Tomcat,同一路径不同端口号,同一浏览器下不能同时访问问题

来源:互联网 发布:知乎装修精华帖 编辑:程序博客网 时间:2024/05/16 01:33

问题描述:
当用同一台服务器,不同的端口来区分两个同名项目时(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>**

阅读全文
0 0