gpt4 book ai didi

java - 在 Spring MVC 中,使用 'redirect:process' 或 'redirect:/process' 在导致丢失 session 或 session 值方面是否有所不同?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:32:01 24 4
gpt4 key购买 nike

我在我的 Spring MVC 3.2 应用程序中遇到了奇怪的行为,我注意到只有在以替代方式完成重定向时才会发生这种情况;所以我的问题是:

  1. 正在执行“redirect:/process任何不同于'redirect:process' 用于重定向到内部 Controller ?

    添加的斜杠是否有任何区别,例如影响 session 处理?

  2. 丢失 session (或丢失 session 属性)的原因是什么?

    我通过我的应用程序读取了一个值;即使我在很多情况下进行重定向,当我在 Controller URI 之前添加一个斜杠时,在生产中我有时会丢失这个值。

    关于如何对丢失的 session 值进行故障排除的任何线索?

注意:我正在使用方法 httpRequest.getSession().setAttributehttpSession.getAttribute 来访问 session 。

最佳答案

使用“/”声明从根开始的路径,这是您的 servlet 上下文路径。没有'/',通常它会转到相对于当前子路径的路径。例如,如果您位于“/go/url”,则您指向的是“/go/url/next”,而不是“/next”。

我没有检查 spring 源代码,但这通常是它在网络浏览器中的工作方式。

编辑:

对不起,在 Spring MVC 中,您必须始终提供完整路径,而不仅仅是相对路径。所以你应该做“redirect:/full/path”。

关于java - 在 Spring MVC 中,使用 'redirect:process' 或 'redirect:/process' 在导致丢失 session 或 session 值方面是否有所不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33235876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com