面试时经常会问到forward(转发)和redirect(重定向)两种方法的区别。
主要的区别整理如下(不足之处,请网友指正):
1、数据共享的区别
forward: 指向新页面时,继续使用当前的request作用域,可以共享request里面的数据。
redirect: 进入新的request作用域,当前的request中存放的变量全部失效。
2、执行效率的区别
forward: 执行效率较高。
redirect: 执行效率较低。
3、使用范围的区别
forward:方法只能在同一个Web应用程序内的资源之间转发请求。
redirect:不仅可以重定向到同一可以重定向到任何应用程序内的资源,还可以重定向到其他Web站点的资源。
4、地址栏显示的区别
forward 浏览器地址栏显示原来的URL。
redirect 浏览器地址栏显示已转向的新的URL。