sendRedirect()重定向传参数,没有实现传参,直接是null什么情况

就写了一个很简单的jsp,sendRedirect()重定向传参数,没有实现传参,跳转界面显示null
什么情况,很懵。。。图片说明

8个回答

客户发送一个请求到服务器,服务器匹配servlet,这都和请求转发一样,servlet处理完之后调用了sendRedirect()这个方法,这个方法是response的方法,所以,当这个servlet处理完之后,看到response.senRedirect()方法,立即向客户端返回这个响应,响应行告诉客户端你必须要再发送一个请求,去访问test.jsp,紧接着客户端受到这个请求后,立刻发出一个新的请求,去请求xss-vulnt.jsp,这里两个请求互不干扰,相互独立,在前面request里面setAttribute()的任何东西,在后面的request里面都获得不了

java1996
java1996 回复Antonio_xu: 我要在界面上显示,你这个只能在url上显示
大约 3 年之前 回复
Antonio_xu
Jankin-Xu 回复java1996: response.senRedirect("xss-vulnt.jsp?name"+name)
大约 3 年之前 回复
java1996
java1996 那应该怎么改才能实现传参数
大约 3 年之前 回复

图片说明

重定向之后原有请求域中的值是拿不到的,因为会产生两次请求,两次相应。转发是可以的。

java1996
java1996 那应该怎么做才能传参数
大约 3 年之前 回复

我很想知道你request里的name是怎么传进去的?

还有另一个请求进入xss2.jsp的吧?

进xss2.jsp的时候是带着name参数的吧?

放在session中 无论是重定向还是转发都能收到,我怀疑的就是你的name里就没有值!!!!

java1996
java1996 name不是我输入进去的值吗,我输出看过name有值就是传参不过去
大约 3 年之前 回复

响应重定向不能传值,请求转发可以,如果是每个页面都需要的值,可以存进session 里面,这样在整个会话生命周期里面,
无论是重定向还是请求转发都能够获取值。

xss2.jsp中action写xss-vuln.jsp的路径,然后xss-vuln.jsp用request接收

http://blog.csdn.net/lovesummerforever/article/details/12284347

用转发吧,转发可以携带参数.

redirect之后都不是同一个request了,不能实现传递参数,试试forward吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问