在两个tomcat服务器上的两个应用程序之间保持JSP会话活动

在两个tomcat服务器上的两个应用程序之间保持JSP会话活动,jsp,session,Jsp,Session,嗨,我想在两台tomcat服务器上运行的两个不同应用程序之间保持相同的会话。我有一个应用程序在一台服务器上运行,登录时为其创建了一个会话。如果单击应用程序上的链接,它将被重定向到另一个tomcat服务器上的第二个应用程序。此时,它应该维护第一台服务器中的相同会话。之后,如果它返回到第一台服务器中的应用程序,则不应再次请求身份验证。它应该使用相同的会话 有没有办法在JSP中的两个tomcat服务器之间传递会话ID或详细信息 有人能帮忙吗。如果您在同一台机器上使用两台tomcat服务器,那么这两台服

嗨,我想在两台tomcat服务器上运行的两个不同应用程序之间保持相同的会话。我有一个应用程序在一台服务器上运行,登录时为其创建了一个会话。如果单击应用程序上的链接,它将被重定向到另一个tomcat服务器上的第二个应用程序。此时,它应该维护第一台服务器中的相同会话。之后,如果它返回到第一台服务器中的应用程序,则不应再次请求身份验证。它应该使用相同的会话

有没有办法在JSP中的两个tomcat服务器之间传递会话ID或详细信息


有人能帮忙吗。

如果您在同一台机器上使用两台tomcat服务器,那么这两台服务器都有不同的端口,就像一台有8080,另一台有8081一样

现在您可以简单地将请求转发到第二个应用程序,并使用setting属性,记住在url中给出第二个应用程序jsp的完整路径,如

http://localhost:8081/2nd_application/page.jsp
JSP有4个作用域:应用程序、会话、请求和页面


这里使用请求范围是我的权利。

我认为您可能需要SSO(单点登录)解决方案。以下是一些免费的开源软件:

  • (以前打开的SSO)
  • (Java开放单点登录)
  • (中央认证服务)
  • 您还可以按照前面提到的方法,使用Servlet过滤器在这两个web应用程序中构建一些自定义安全性

    注意:只有在您不想使用任何SSO解决方案的情况下,才可以使用自定义解决方案(这将是一种痛苦,但也是一种很好的学习;-);由于给出的原因,我建议不要这样做)


    希望这有帮助。

    只需将
    resp.encodeRedirectURL()
    resp.sendRedirect()配合使用即可

    像这样:

    response.sendRedirect(response(encodeRedirectURL("outputpage.jsp"))
    

    希望提供了正确的解决方案。

    这些应用程序是相同的,但在不同的服务器上还是不相关的应用程序上?这个答案很难理解-你能澄清你的建议吗?您关于JSP作用域的评论可能涉及JSP属性,尽管我看不出这与这个问题有什么关系。