请求转发和重定向的区别_转发和重定向的区别和使用

在Servlet中实现页面的跳转有两种方式:转发和重定向

1、 转发

什么是转发:由服务器端进行的页面跳转

原理图

a0fa195384082968e2088f555b98fee5.png

转发的方法

c644361f6760a121fe80ab47fcacf53b.png

转发案例:实现从OneServlet中转发到TwoServlet

步骤

1.OneServlet向请求域中添加了一个键和值,转发给TwoServlet

2.TwoServlet就从请求域中取出键和值,打印到浏览器上。

效果

0cd7490255cd800871d053b688601e48.png

代码

OneServlet

ccbe4aecd46fedd97697a47df1cbc171.png
TwoServlet
84ae10bd72bd4e69c6da04c5a969b88d.png

转发的特点

1.地址栏不发生变化,显示的是上一个页面的地址

2.请求次数:只有1次请求

3.根目录:http://localhost:8080/项目地址/,包含了项目的访问地址

4.请求域中数据不会丢失

转发使用哪个方法?

f20b74152ac687e2b74235bb55a83cdc.png

2、 重定向

什么是重定向:由浏览器端进行的页面跳转

原理图

59161022b381a023f52df8003e7e389a.png

重定向方法

0c183bb748a711ade2c4726dc885a5a5.png

重定向案例:从OneServlet重定向到TwoServlet

步骤

1.在OneServlet中向请求域中添加键和值

2.使用重定向到TwoServlet,在TwoServlet中看能否取出请求域的值

效果

b88e83d4bd926a7e9550fdf6149b0dc7.png

代码

OneServlet
8f9a06eeb6f3b3fd1a4ea5a7c220c4e5.png
TwoServlet
e98ca40025809ecfa5b5f1d5948515d3.png

重定向的特点

1.地址栏:显示新的地址

2.请求次数:2次

3.根目录:http://localhost:8080/ 没有项目的名字

4.请求域中的数据会丢失,因为是2次请求

3、 疑问

问:什么时候使用转发,什么时候使用重定向?

如果要保留请求域中的数据,使用转发,否则使用重定向。

以后访问数据库,增删改使用重定向,查询使用转发。

问:转发或重定向后续的代码是否还会运行?

无论转发或重定向后续的代码都会执行

4、 小结:重定向和转发的区别

b8e795bb8c82abb2b6c3a5af1feb7237.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值