请求转发和重定向的区别(重定向的特点是什么)

 分类:IT知识时间:2022-08-11 07:30:02点击:

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

1、 转发

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

原理图


转发的方法


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


步骤

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

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


效果


代码

OneServlet


TwoServlet


转发的特点

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

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

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

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


转发使用哪个方法?


2、 重定向

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


原理图


重定向方法


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


步骤

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

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


效果


代码


OneServlet



TwoServlet


重定向的特点

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

2.请求次数:2次

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

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


3、 疑问

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

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

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


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

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


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

重定向和转发的区别

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: