forward和redirect是什么?
是servlet种的两种主要的跳转方式。forward又叫转发,redirect叫做重定向。
区别:(本地效应次数)
地址栏,数据共享,应用场景,效率,本质,次数
两者的区别总结:
1. 从地址栏显示来说:
1)forword是服务器内部的重定向,服务器直接访问目标地址的 url网址,把里面的东西读取出来,但是客户端并不知道,因此用forward的话,客户端浏览器的网址是不会发生变化的。
2)redirect是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的地址。
2。 从数据共享来说:
1)由于在整个定向的过程中用的是同一个request,因此forward会将request的信息带到被重定向的jsp或者servlet中使用。即可以共享数据
2)redirect不能共享
3. 从运用的地方来说
1)forword 一般用于用户登录的时候,根据角色转发到相应的模块
2) redirect一般用于用户注销登录时返回主页面或者跳转到其他网站
4。 从效率来说:
1)forword效率高,而redirect效率低
5. 从本质来说:
forword转发是服务器上的行为,而redirect重定向是客户端的行为
6. 从请求的次数来说:
forword只有一次请求;而redirect有两次请求,
再举一个浅显易懂的例子:
转发的时候你并不知道A局有没有去联系B局,信息没有被泄露,没有丢失!!
欢迎留言点赞!!