Java 如何在从一个web应用程序重定向到另一个web应用程序时传递数据?

Java 如何在从一个web应用程序重定向到另一个web应用程序时传递数据?,java,web-applications,redirect,cross-context,Java,Web Applications,Redirect,Cross Context,我有两个web应用程序,它们部署在同一个J2EE应用程序服务器中。我需要从一个web应用程序重定向到另一个web应用程序。我还需要在web应用程序1的标题中设置一些信息,以便在web应用程序2中可以使用这些信息。 当我试图访问Web App2中Web App1的标题中设置的信息时,我得到的是“null”。我正在使用response.sendRedirect(“http://localhost/webapp2“”在Web应用程序1中重定向。请帮我解决这个问题 谢谢, 应用程序。您可以将信息作为UR

我有两个web应用程序,它们部署在同一个J2EE应用程序服务器中。我需要从一个web应用程序重定向到另一个web应用程序。我还需要在web应用程序1的标题中设置一些信息,以便在web应用程序2中可以使用这些信息。 当我试图访问Web App2中Web App1的标题中设置的信息时,我得到的是“null”。我正在使用
response.sendRedirect(“http://localhost/webapp2“”
在Web应用程序1中重定向。请帮我解决这个问题

谢谢,
应用程序。

您可以将信息作为URL参数发送


重定向到
http://localhost/webapp2?param1=value1¶m2=value2 ..

其中一个选项是在sendRedirect调用中使用的URL中简单地将信息作为GET属性传递。

重定向由客户端(浏览器)处理。因此,只有客户端才能获得您发送的头。标题将不会传递到重定向到的webapp

您可以执行以下操作之一,将信息从一个Web应用传递到另一个Web应用:

  • 将数据作为请求参数传递
  • 以cookie形式发送数据,无路径限制
  • 使用跨上下文分派
客户端收到的cookie将发送回服务器。客户端不知道它是另一个webapp。您只需将设置为
/


跨上下文剥离由容器中的内部转发完成(使用ServletContext中的。客户端永远不会知道,请求由另一个webapp处理。您可以设置请求属性来传递数据。出于安全原因,容器必须启用跨上下文分派。

我需要在标头中设置信息。这是因为部署在生产服务器上的web应用程序2从标头获取信息(这是由外部安全管理器设置的)。我们需要在不修改现有代码的情况下使用web应用程序2。我没有找到太多关于跨上下文调度的信息。有一种叫做远程请求调度的方法。但它需要WAS的网络部署版本。是否可以跨部署在同一容器上的两个web应用程序执行此操作?您能告诉我需要进行的配置吗?我不是IBM顾问,但它应该可以工作。不知道默认配置是什么,但我在IBM页面中找到了一些内容: