0

我正在尝试构建一个 Java EE 应用程序,该应用程序提取某个会话 cookie,将其作为 HTTP 标头添加到请求中,然后将用户转发到请求中带有此标头变量的第 3 方 URL。

我使用这个例子作为参考。

我已经实现FakeHeadersRequestSimpleFilter但不确定如何使用这个新的标头变量将请求重定向到不同的 URL。我应该只创建一个转发请求的 Servlet 吗?也许使用 Apache http 客户端?

有人可以帮我完成这个难题吗?

4

2 回答 2

1

一旦您在服务器端并包装了您的请求,请使用 RequestDispatcher.forward() 与该包装的请求。

您要转发到的资源(任何 Servlet、JSP)将“看到”新标头。

不要尝试在客户端重定向(HTTP 302),让客户端发送自定义标头并不容易,AFAIK。

于 2012-08-22T10:36:53.017 回答
0

无论您使用什么语言或框架,都无法重定向到设置了自定义标题的页面。换句话说,没有办法触发 HTTP 重定向并导致客户端(浏览器)添加自定义标头。

您正在为指示浏览器重定向的响应设置自定义标头,而不是为重定向本身。

站点指示浏览器发出带有自定义标头的 HTTP 请求的唯一方法是使用 Javascript 和XMLHttpRequest对象。

你能想到的最接近的事情就是充当代理。没有重定向。

于 2016-12-19T08:59:50.923 回答