搜索
写经验 领红包

forward和redirect的区别是什么

forward和redirect是servlet的主要两种跳转方式,其中forward又叫转发,而redirect叫重定向,那么forward和redirect的区别是什么呢?下面小编带大家了解一下吧。

转发
转发

1、请求方不同:redirect是由客户端发起的请求,而forward是服务端发起的请求。

2、浏览器地址表现不同:redirect是浏览器地址显示被请求的url,而forward是浏览器地址不显示被请求的url。

3、参数传递不同:redirect需要重新开始一个request,原页面的request生命周期结束。forward另一个连接的时候。request变量是在其生命周期内的。另一个页面也可以使用,其实质是把目标地址include。

4、底层运作不同:redirect发送的请求信息又回送给客户机,让客户机再转发到另一个资源上,需要在服务器和客户机之间增加一次通信。forward服务器端直接找到目标,并include过来。

5、定义不同:Forward——客户端和浏览器只发出一次请求,Servlet、JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的。Redirect——实际是两次HTTP请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。

以上就是小编给大家介绍了forward和redirect的区别,相信大家对此有了一定的了解,希望能帮到大家。