请求重定向(sendRedirect)与请求转发(forward)

    xiaoxiao2021-03-25  233

    请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变。

    例如: reg.jsp有一个form传递到response.jsp,response.jsp重定向到request.jsp

    res.jsp

    response.jsp

    resquest.jsp

    我们输入用户名‘张三’,选择‘读书’和’音乐‘后点击‘提交’,看看经过response.jsp重定向后在resquest.jsp能不能接收到输入的数据。

    注意看地址栏的URL已经发生改变,而且我们输入的数据在经过重定向后在request.jsp里没有接收到。



    请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。

    还是上面的例子: 但这一次把response.jsp改成下面的样子

    然后我们再测试一下,

    提交后我们发现:

    地址栏的地址没有发生改变,而且用户名和爱好都能接收到了。

    转载请注明原文地址: https://ju.6miu.com/read-444.html

    最新回复(0)