关于TOMCAT管理session会话的问题。咨询了好多人,还是没有解决。大家帮忙看看。

lgmsyy lgmsyy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
A1.jsp

<a href="A2.jsp""> clienk web </a>
<%

System.out.println("A1 SESSION:"+session.getId());

if(session.isNew()){
System.out.println("A1 is new session");
session.setAttribute("ssoSid", "hello");
}else{
System.out.println("A1 is old session");
}
%>


A2.jsp
web2

<%

System.out.println("A2 SESSION:"+session.getId());

if(session.isNew()){
System.out.println("A2 is new session");
}else{
System.out.println("A2 is old session");
}

String ssoSid = (String)session.getAttribute("ssoSid");
System.out.println("A ssoSid:"+ssoSid);
%>




B1.jsp

<a href="B2.jsp""> client use </a>
<%

System.out.println("B1 SESSION:"+session.getId());

if(session.isNew()){
System.out.println("B1 is new session");
session.setAttribute("ssoSid", "LGM");
}else{
System.out.println("B1 is old session");
}
%>


B2.jsp
hello user2
<%

System.out.println("B2 SESSION:"+session.getId());

if(session.isNew()){
System.out.println("B2 is new session");
}else{
System.out.println("B2 is old session");
}

String ssoSid = (String)session.getAttribute("ssoSid");
System.out.println("B ssoSid:"+ssoSid);
%>



在tomcat的server.xml中配置如下

server.xml配置如下

<Service name="A">

<Connector port="99".../>
......
<Engine name="A" defaultHost="localhost">
......
<Host name="localhost" appBase="A" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="D:/Workspaces/A/WebRoot/" debug="0" reloadable="true" />
</Host>
</Engine>

</Service>


<Service name="B">

<Connector port="92" .../>
......
<Engine name="B" defaultHost="localhost">
......
<Host name="localhost" appBase="B" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="D:/Workspaces/B/WebRoot/" debug="0" reloadbale="true" />

</Host>
</Engine>

</Service>


打开IE8或者火狐,开两个标签,分别执行
http://192.168.25.72:99/A1.jsp
http://192.168.25.72:92/B1.jsp

在来回切换标签的过程中,发现。
A和B只要切换了标签,那么A,B应用SESSION会话分别是新的会话。


但是在server.xml中配置更改为(分别加了别名)
<Context path="/A" docBase="D:/Workspaces/A/WebRoot/" debug="0" reloadable="true" />
<Context path="/B" docBase="D:/Workspaces/B/WebRoot/" debug="0" reloadbale="true" />
打开IE8或者火狐,开两个标签,分别执行
http://192.168.25.72:99/A/A1.jsp
http://192.168.25.72:92/B/B1.jsp
在来回切换标签的过程中,发现A,B应用SESSION会话分别是旧的会话。

请问这是为什么呢。为什么加了别名TOMCAT对SESSION的管理就不一样了呢?
注意:以上基于同一个TOMCAT和server.xml

...全文

相关推荐

tomcat8集群实现session共享,内含session共享包

**在单个Tomcat实例中,Session管理非常简单。然而,当使用多个Tomcat实例(即集群)时,问题就出现了。

坚持的道路注定孤独

SpringBoot+Vue宠物健康咨询系统:毕业设计全栈开发实战指南

在Web应用开发领域,前后端分离架构已成为主流范式,它通过清晰的职责划分提升了开发效率和系统可维护性。其核心原理在于前端负责用户界面与交互,后端专注于业务逻辑与数据服务,二者通过RESTful API进行通信。这种架构的技术价值在于支持团队并行开发、技术栈灵活选型以及更好的性能扩展性,广泛应用于管理后台、电商平台及各类在线服务系统。本文聚焦于一个具体的应用场景——宠物健康咨询平台,详细拆解如何运用SpringBoot与Vue技术栈实现用户认证、在线咨询、健康档案管理等核心功能,其中JWT身份认证与模块化设计

Msro

基于JavaEE的心理咨询预约管理系统

【标题】中的“毕业设计&课设--心理咨询预约管理系统(javaEE)”表明这是一个基于JavaEE平台开发的心理咨询预约管理系统的项目。

檀越@新空间

java-jsp东理咨询交流论坛计算机毕业设计.zip

**会话管理**:为了保持用户状态,项目可能使用了JSP内置对象Session,它在用户浏览器会话期间存储信息,如用户的登录状态。6.

yuanhang1322

EJB3.0实例教程

- **联系方式**:提供了作者的联系方式,方便读者在学习过程中遇到问题时能够及时咨询。- **官方MSNG群**:介绍了官方MSN群的信息,便于读者加入社群进行交流和互助。

ddddguoguo
评论 12
收藏 已收藏
分享
返回顶部
lgmsyy
Java EE 67,535 成员 225,843 内容