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重定向是客户端的行为
本文详细解释了servlet中forward(转发)与redirect(重定向)的区别,包括地址栏显示、数据共享、运用场景、效率及本质的不同。forward用于内部跳转,保持request信息不变;redirect则通知浏览器重新请求地址,不保留原有request信息。
315

被折叠的 条评论
为什么被折叠?



