当前位置: 首页 > 知识库问答 >
问题:

带有自定义超文本传输协议标头的Spring MVC重定向

司马同
2023-03-14

我正在开发小型Spring mvc应用程序,其中用户需要重定向到带有一些超文本传输协议标头的外部应用程序。例如,用户在url上的应用程序1上http://localhost:8080/app1.在这个应用程序中,我们有一些表单的简单jsp页面,用户填写它。之后,我们需要在表单提交时收集这些数据,并将用户重定向到url上的另一个外部应用程序,如http://localhost:9090/app2

现在,当这种重定向发生时,我们需要维护或添加超文本传输协议标头。由于重定向是来自浏览器的新请求,因此它会丢失在重定向之前在应用程序1中添加的标头。

这是在重定向到app2之前在app 1中添加标头的示例代码

    response.addHeader("userId","test");
    response.sendRedirect("http://localhost:9090/app2");

当我去检查浏览器开发人员工具时,当它落在app2上时我没有看到标头。有人能告诉我如何解决这个问题吗?

共有1个答案

呼延光明
2023-03-14

你说得对,页眉不会向前移动。实现这一点的一个可靠方法是将这些数据放入cookie中。

 类似资料:
  • 我用的是跺脚。我的javascript客户端中的js over SockJS。我正在使用连接到websocket stomp over sockJS连接有2个http请求: 请求发送至/info http升级请求 客户端发送所有cookie。我也想发送自定义头(例如XSRF头),但没有找到方法。谢谢你的帮助。

  • 我正在努力学习一些关于HTTP的基础知识。我检查了一些HTTP响应头,注意到了两件让我困惑的事情: > 没有缓存控制标头,并且 ETag标头存在。 我理解 ETag 的方式是,客户端将 ETag 中的请求发送到缓存,并且缓存将资源 Etag 与服务器重新验证。但是,如果没有缓存控制标头作为响应,则所有后续请求都直接与服务器进行重新验证并完全省略缓存。是这种情况还是我错过了什么?当响应中不存在缓存控

  • 我正在通过默认的winstone容器运行Jenkins on Squence,我想将所有调用重定向到http://jenkins-server到https://jenkins-server.有没有一种方法可以在不通过apache等运行Jenkins的情况下做到这一点?

  • 我们在Glassfish v4上创建了一个网站,它使用8080端口作为http,8081端口作为https。我们的cisco防火墙将请求转发到端口80到端口8080,并将请求转发到端口443到端口8081。 但是我们不希望用户能够访问超文本传输协议网站。我们希望将所有请求重定向到超文本传输协议站点到https。怎么能做到呢?在Glassfish管理面板中,我们对配置进行了更改-

  • Hprose 远程过程调用(RPC)通讯可以在任何底层网络协议上传输。例如 HTTP,TCP 或 UNIX socket。 HTTP 绑定 当 hprose 远程过程调用(RPC)工作于 HTTP 之上时,hprose 远程过程调用(RPC)的数据作为 POST 请求的 body 部分发送,以响应的 body 部分返回。 Hprose 远程过程调用(RPC) 对 HTTP 的头部(head)没有任

  • 我正在尝试向SOAP请求添加自定义命名空间声明,更具体地说: 我在SOAP消息处理程序中执行此操作,根据我使用的Web服务的规范,此命名空间声明是绝对必需的。但是,jax ws库似乎总是在发送消息之前尝试添加此soapenv命名空间声明,然后失败如下: HandleMessage函数: