如何理解转发与重定向?

如何理解转发与重定向?

兔子给鸡打电话

场景一

兔子拨通鸡的电话。
兔子:你好,有个问题想请教你!
鸡:快说吧,没有我不会的的问题!
兔子:1+1等于几?
鸡寻思半天也不会,又怕丢了面子!忙叫来身旁的山羊说:“兔子问1+1等于几?”
山羊拿起电话:2!
兔子:谢谢!
兔子放下电话寻思:怎么感觉鸡的声音有点怪,算了不管了!

场景二

兔子拨通鸡的电话。
兔子:你好,有个问题想请教你!
鸡:快说,我忙着呢!
兔子:1+1等于几?
鸡:不会,去问山羊吧!
鸡拨通山羊的电话。
兔子:你好,等于几?
山羊:什么等于几!
兔子:1+1等于几?
山羊:2!
兔子:谢谢!

角色
兔子:客户端浏览器
鸡:服务端处理程序一(具体为一个URL,也可以理解为Servlet1)
山羊:服务端处理程序二(具体为一个URL,也可以理解为Servlet2)

分析

兔子打谁的电话知道了答案?场景一是鸡,场景二是山羊!
转发:地址栏为转向前的URL
重定向:地址栏为转向后的URL
兔子打了几次电话?场景一一次,场景二两次!
转发:一次请求
重定向:两次请求
场景二,兔子为什么要再次提问?山羊不知道问题!
转发:request里的信息会传递给处理程序二
重定向:request里的信息不会传递给处理程序二
山羊和鸡不在同一个地方,能不能解决兔子的问题?场景一不能,场景二可以!
转发:只能转向到本应用(同一个项目)的处理程序
重定向:可以转向到其他应用

猜你喜欢

转载自blog.csdn.net/OYziqing/article/details/83508116