重定向与转发的区别

首先,给大家先举一个生活中的例子,已便于更生动形象的去理解:
说:项目经理交给你个任务,但是这个项目你处理不了,张三能处理它,那么有两种解决办法
       重定向:第一种办法,你跟项目经理说,你说你不会,张三会,你去找张三吧,然后项目经理走了,去找张三了!
       转发:第二种办法:    你不好意思跟项目经理说这个问题你不会,你说好,交给我,硬着头皮答应了,然后你知道张三可以解决这个问题,你就自己去找张三帮你完成了。

重定向:

//第一种写法
response.setStatus(302);
response.setHeader("Location", "login_success.html");
 
第二种重定向写法: 重新定位方向 参数即跳转的位置(重要)
response.sendRedirect("login_success.html");

转发:

/请求转发的写法: 参数即跳转的位置
request.getRequestDispatcher("login_success.html").forward(request, response);


总结:

转发在服务器端完成的;重定向是在客户端完成的 
转发的速度快;重定向速度慢 
转发的是同一次请求;重定向是两次不同请求 
转发不会执行转发后的代码;重定向会执行重定向之后的代码 
转发地址栏没有变化;重定向地址栏有变化 
转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值