我有两个Web应用程序,它们部署在同一个J2EE应用程序服务器中。我需要从一个Web应用程序重定向到另一个Web应用程序。此外,我需要在Web应用程序1的Header中设置一些信息,以便它可以在Web应用程序2中使用。
当我尝试访问Web App2中Web App1标题中设置的信息时,我得到“null”。我在Web应用程序1中使用response.sendRedirect("http://localhost/webapp2")
来重定向。请帮我解决这个问题。
谢谢, 的应用程序。
答案 0 :(得分:7)
客户端(浏览器)处理重定向。因此,只有客户端获取您发送的标头。标题不会传递给重定向到的webapp。
您可以执行以下操作之一,将信息从一个Web应用程序传递到另一个Web应用程序:
客户端收到的cookie将被发送回服务器。客户端不知道它是一个不同的webapp。您只需将cookie path设置为/
。
交叉上下文调度由容器中的内部转发完成(使用ServletContext中的RequestDispatcher)。客户端永远不会知道,请求由另一个webapp处理。您可以设置请求属性来传递数据。出于安全原因,容器必须启用跨上下文调度。
答案 1 :(得分:1)
您可以将信息作为网址参数发送。
重定向到http://localhost/webapp2?param1=value1¶m2=value2 ....
答案 2 :(得分:0)
其中一个选项是将简单传递信息作为您在sendRedirect调用中使用的URL中的GET属性。