转发与重定向的区别

时间:2023-01-09 13:13:37

Request作用域相当于一种范围,就是在一次请求内起作用 ,再发一次就没有了,类似于局部变量,调用一次就没有了。而session则类似于成员变量,只要对象不销毁,就会一直存在 着。

在学习JSP时,我们都知道,提交一个表单就相当于创建了一个新的请求,

1.运用最多的是转发:可以传递数据。JSP容器将使用一个内部方法调用目标页面,从这儿传到那去,新页面处理的是同一个请求,共享一个Request,在服务器端转发传递这个Request对象, 客户端并不知道这个过程,所以客户端的URL是不会改变的。因为在服务器端,所以只能在一个web下边,不同的web下有不同的对象,

2.重定向:客户端是知道的,当需要新页面呈现时,客户端会重新发送一个请求过去,客户端再发送请求回去,所以Request就没了,就不共享Request数据,客户端知道,它的URL地址就会改变,重定向可以重定向到任何一个地方去,由于需要重新发送请求,所以重定向的速度要比转发慢。

转发重定向如何选择?