0
点赞
收藏
分享

微信扫一扫

转发与重定向的区别【通俗易懂,句句是要点】

蓝哆啦呀 2022-04-13 阅读 34
tomcatjava

两者都是为了实现页面跳转

A.转发

函数:request.getRequestDispatcher().forward(request,respond)

顾名思义就是把请求转给另一个人

例如张老板叫员工李四去干一个活,李四不会,然后私底下叫张三完成了,老板并不知道是别人完成的,但是李四只能叫本公司的人完成

回到javaweb开发就是客户端发送一个请求到服务端某个servlet(注意jsp也是一个servlet),然后它进行转发给另一个servlet,这是在服务端完成的行为,客户端并不知情,所以虽然转发跳转到了另一个页面,客户端地址栏不会变,显然就是客户端发送了一次请求,所以这就决定了request域的使用情况,且只能在当前web项目应用内转发

B.重定向

函数:response.sendRedirect(" ")

一样的道理,张老板叫李四去干一个活,李四这时直接对老板说不会,张老板就只能重新叫张三去完成,这时老板也有权利找外包

这时就成为了客户端在发送了一次请求的基础上又发送了一次请求,所以发送了两次请求,所以效率慢,地址栏也会改变到第二次请求的,这是客户端的行为,重定向的内容范围也比较大,可以去重定向到其他项目的地址去

网络常问:转发和重定向后的代码内容是否还会继续执行?

答:会,使用 return;可以让它不执行

举报

相关推荐

0 条评论