java – 在Spring MVC中,使用’redirect:process’或’redirect:/ process’会导致丢失会话或会话值吗?

前端之家收集整理的这篇文章主要介绍了java – 在Spring MVC中,使用’redirect:process’或’redirect:/ process’会导致丢失会话或会话值吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

>正在做’重定向:/进程’任何不同的
‘redirect:process’用于重定向到内部控制器?

添加的斜杠是否会产生任何影响,例如影响会话处理?
>会话丢失(或会话属性丢失)的原因是什么?

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

有关如何解决丢失的会话值的任何线索?

注意:我使用方法httpRequest.getSession().setAttribute和httpSession.getAttribute来访问会话.

最佳答案
使用’/’表示来自root的路径,这是您的servlet上下文路径.没有’/’,通常它会转到相对于当前子路径的路径.例如,如果您在’/ go / url’,则表示您指向’/ go / url / next’,而不是’/ next’.

我没有查看spring源代码,但通常是它在Web浏览器中的工作方式.

编辑:

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

猜你在找的Spring相关文章