我想在一个servlet中编辑HTTP头变量并重定向/转发到另一个servlet,在第二个servlet中我应该能够使用request.getHeader("MY_HEADER_INFO").
检索头变量
第二个servlet实际上是在不同的上下文中运行,因此我无法使用调度程序,因此我在第一个servlet中使用了sendRedirect,代码为302.我使用的是Spring Webflow。
情景:
当用户单击“提交”按钮时,他/她将被重定向到另一个域中的URL,其中包含用于对用户进行身份验证的参数。
身份验证成功后,第二个服务接收参数的URL将在身份验证后附加自定义标头并重定向回其中。
带有标题的URL会被重定向并点击我的应用程序,然后调用我的frontendcontroller
,我尝试从请求中获取标题。不幸的是,我不确定在尝试使用request.getHeader("Header_Name")
时是否遗漏了某些内容我没有获得该值并返回NULL
。
在第二个服务端,所有标头都正确发送。
我尝试过:
当我枚举重定向网址中收到的所有标题名称时,我无法看到添加到请求网址的自定义标题。
答案 0 :(得分:0)
您无法在重定向中传递请求标头。重定向只是使用Location
标头将HTTP响应发送回浏览器,该标头只能包含其中的URL。因此,您可以在重定向中传递请求参数,但不能在标题中传递。
(我也不认为涉及Spring或Web Flow,只涉及HTTP和Servlet行为。)