如何将自定义标头变量添加到请求并重定向用户

时间:2012-08-22 10:29:31

标签: java http redirect java-ee

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

我使用this example作为参考。

我已实施FakeHeadersRequestSimpleFilter,但不确定如何使用此新标头变量将请求重定向到其他网址。我应该创建一个转发请求的Servlet吗?也许使用Apache http客户端?

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

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

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

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