开发者社区> 问答> 正文

一个response.sendRedirect(),重定向的问题? 400 报错

一个response.sendRedirect(),重定向的问题? 400 报错 使用SpringMVC做控制 请求和控制,   其中有一个方法,在满足条件下做了一次response.sendRedirect("XXX.do")的重定向请求,结果在处理这个请求的方法中使用request.getsession.getAttribute("XXXXX")的不到想要的值。当然在 response.sendRedirect("XXX.do")之前我已经通过 request.getsession.setAttribute("XXXXX")方式把值放入session中了。请教各位大神,这里出现了什么问题,实在想不明白了。

展开
收起
爱吃鱼的程序员 2020-06-03 17:09:13 1274 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    重定向之后不是同一个请求。 通过地址栏,可以看到地址变化,说明是新的请求。

    RequestDispatcher dispatcher = request.getRequestDispatcher("xxx.do"); 
    dispatcher .forward(request, response);

    这种方式,地址栏不会变化,只是请求的跳转。

    ######

    引用来自“魂歌”的答案

    重定向之后不是同一个请求。 通过地址栏,可以看到地址变化,说明是新的请求。

    RequestDispatcher dispatcher = request.getRequestDispatcher("xxx.do"); 
    dispatcher .forward(request, response);

    这种方式,地址栏不会变化,只是请求的跳转。

    其实 我是想知道 重定向之后  还能不能通过 request.getsession.getAttribute("XXXXX");这种方式拿到 重定向之前放到 session里面的值了。
    ######重定向过程,传输信息会丢失######谢谢######同域中重新向过程中setcookie是可以的。 如果出现了问题要检查浏览器是否有bug,或者自己的操作有误,这个可以通过chrome的控制台检查。######

    1:外部重定向前,先把数据放到cookie里头

    2:用分布式session,每次请求的时候,根据某个id查找session

    3:使用内部重定向

    ######session删掉就行了吧######分布式session时,有办法删除cookie中的jsessionid吗?
    2020-06-03 20:35:52
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载