1.
重定向是由
response
响应对象发起的,转发是由
request
请求发起的。
(
重定向访问服务器两次,转发只访问服务器一次。)
2. 重定向跳转后网址会变为网页路径地址,转发还是请求
servlet
的地址。
(重定向可以重定义到任意资源路径,转发只能转发到自己的web应用内。)
3.
重定向可以跳转到第三方的网址,转发只能访问项目内的网页。
(转发页面的URL不会改变,重定向会改变。)
4.
重定向不能访问
WEB-INF
服务器级别的目录,转发才可以,相当于服务器跳转,方法调用。
5.
转发会携带
request
作用域,可以携带参数进行页面跳转。而重定向会产生一个新的request,不能共享request域信息与请求参数。
重定向与请求转发的区别:
1.请求转发的地址栏不会发生改变,重定向的地址栏会发生改变
2.请求转发只有一次请求,重定向有两次请求
3.请求转发时request对象可共享,重定向时request对象不共享
3.请求转发时request对象可共享,重定向时request对象不共享
4.请求转发是服务端行为,重定向是客户端行为
5.请求转发时的地址只能是当前站点下(当前项目)的资源,重定向时地址可以是任何地址
5.请求转发时的地址只能是当前站点下(当前项目)的资源,重定向时地址可以是任何地址