当前位置: 首页 > 知识库问答 >
问题:

当浏览器调用另一台服务器时,Tomcat会话共享不起作用

蒯宏达
2023-03-14

我有两个Tomcat(server1和server2)分别运行war(war1和war2)。我添加了这个

server1 : http://localhost:9090/myapp1 - spring application 
server2 : http://localhost:8080/myapp2 - grails application (version 2.3.4)
Tomcat version 7.0.47

在我的例子中,server1是入口点。以下是步骤。

  1. 用户通过浏览器点击server1的url

我希望服务器2使用相同的会话。

在我启动两个服务器我期待当(server1)war1的UI使调用server2将从浏览器获得现有的会话.但当调用(同时调试)到达server2有没有会话和server2创建一个新的会话.同时如果我打server2 url直接在浏览器地址栏server2是从浏览器拿起会话这是由server1创建的,这是正确的。

我的问题是,(server1)UI调用server2时为什么不发生这种情况??!!任何帮助都将不胜感激。提前谢谢


共有1个答案

毕衡
2023-03-14

我弄明白了为什么会话对另一台服务器不可见。当我从同一个来源调用ajax时。Ajax不会将会话cookie作为请求的一部分发送,这会导致另一台服务器生成新的会话。

虽然WAR部署在不同的服务器上,但所有url都应该指向同一个域。例如,域ashttp://localhost:9000并且应该使用应用程序名http://localhost:9000/app1, http://localhost:9000/app2。为了实现这一点,我配置了Apache(2.4版)服务器。然后它开始工作,没有任何问题

也许还有别的办法。只是想分享我找到的答案。

 类似资料:
  • 问题内容: 我在使用SWT浏览器组件时遇到了一些麻烦。我正在运行带有Sun的Java SE 1.6的Ubuntu 11.04 AMD64和Eclipse 3.7 我的问题是我的浏览器无法初始化。当我使用SWT.NONE标志实现时,出现错误 然后当我尝试使用SWT.MOZILLA标志时,我得到 我怀疑这部分是因为我正在使用XULRunner2,但是我更喜欢使用WebKit,在Eclipse 3.7中

  • 我有两个服务器,我可以从我的服务器的jsp调用另一个服务器的jsp。 就像下面的代码一样。首先是服务器JSP。 当我点击提交时,控件将进入第二个服务器,它将以name作为参数,并将其放入我的第二个服务器的jsp中。 第二服务器JSP. 我想使用Servlet做完全相同的事情。 我试图与Servlet的重定向我的控制将去第二服务器,但因为重定向它不会采取"名称"peramater。 我尝试使用For

  • 问题内容: 我们有一个搜索表单,其中过滤器绑定到托管bean(会话范围)上的属性。它不是组件绑定,它的属性绑定像。 来自不同机器(然后是不同的会话)的提交数据混合在一起。您搜索“ john”,并得到“ mary”,因为您旁边的那个人刚刚搜索了“ mary”。您的价值在于获取 他 提交的数据而不是您的数据。 我已经在Google上搜索了很多,没有找到解决方案,只是发生了同样的问题。 有人遇到过这个问

  • 问题内容: 我的问题如下:如何在不同Java类中的测试中重复使用浏览器会话?我打开了这样的浏览器: 然后,我必须使用一些凭据登录网站,并在登录后想执行其他测试,所以我不想为每个测试都登录,因为我需要进行很多测试并为每个用户登录花十年时间。例如,流程如下所示:登录->推送一些组件->添加一些值->生成报告。在此之后,我想在另一个组件上生成其他报告,但是当我尝试使用它时,将给出一个空指针异常。有任何想

  • 在每个服务器上创建x会话后,我有2个不同的tomcat服务器(不同的机器),当我重新启动两个服务器时,其中一个保留会话,而另一个没有, -知道为什么吗?-我想和两只雄猫保持通话 谢谢

  • 我正在开发一个基于云的后端HTTP服务,该服务将公开用于与一些on-prem系统的集成。客户机系统是由外部供应商定制的,它们是带有自己数据库的后端系统。这些系统部署在我们客户的公司中,我们无法访问它们,也无法控制它们。我们向供应商提供我们的API规范,他们实现客户机代码。 我的服务与客户交换的数据格式基于XML,并遵循一定的标准。供应商用不同的编程语言实现他们的客户机系统,随着时间的推移,新的供应