转发与重定向

本文详细解释了HTTP请求中转发(forward)与重定向(redirect)的区别,包括它们对URL的影响、请求次数的变化以及变量传递的情况。此外还对比了forward与include两种方法的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

request.getRequestDispatcher(String arg0)是转发,response.sendRedirect(String arg0)是重定向;

转发,地址栏的URl是不变的,重定向则是有变化的;

重定向实际上产生了两次请求;

重定向时的网址可以是任何网址,转发则必须是本站点的网址,因此,转发的方法arg0如果是以“/”开头,表示的是本站点的根目录,而重定向则表示的是服务器的根目录;

转发的时候request的变量被传递,而重定向则不会传递。


request.getRequestDispatcher(String arg0)的forward()和include();

相同点:

forward() 跟include() 在执行的时候,URl也就是浏览器地址栏那的地址是不会改变;

区别:

forward(),有关response对象的一切方法或者属性都会失去作用,只有request能被转向到下一个页面;
include(),response跟request都能被传递到转向的下一个页面;

forward()下面的代码不会执行,因为forward已经把请求交给了下一个页面;

include()下面的代码会执行,因为include是把下一个页面的代码包含进来。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值