一个response.sendRedirect(),重定向的问题

花间小酌 发布于 2013/07/20 15:06
阅读 10K+
收藏 0
使用SpringMVC做控制 请求和控制,   其中有一个方法,在满足条件下做了一次response.sendRedirect("XXX.do")的重定向请求,结果在处理这个请求的方法中使用request.getsession.getAttribute("XXXXX")的不到想要的值。当然在 response.sendRedirect("XXX.do")之前我已经通过 request.getsession.setAttribute("XXXXX")方式把值放入session中了。请教各位大神,这里出现了什么问题,实在想不明白了。

以下是问题补充:

@花间小酌:可能我没说清楚,我是说,重定向以前放入session里面的值,重定向以后还能不能取到,各位大神 我是这个意思 (2013/07/22 11:18)
加载中
0
魂歌
魂歌

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

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

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

0
花间小酌
花间小酌

引用来自“魂歌”的答案

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

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

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

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

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

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

3:使用内部重定向

L
LongCity
session删掉就行了吧
mn_1127
mn_1127
分布式session时,有办法删除cookie中的jsessionid吗?
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部