今天在群里面碰到一个面试失败的人问 forward与direct的区别,自己想了想也回答不出来,虽然以前也看过这个问题,但老是忘记,现在把与这个问题有关的资料综合下:
1. SendRedirect( )是向浏览器发送一个redirect通知,浏览器重定向到新的URL(地址栏的URL会改变)。
Forward( )是在服务器端直接转到新的URL,对于浏览器是透明的(地址栏的URL不会改变)。
2. Forward 另一个连接的时候。request变量是在其生命周期内的,另一个页面也可以使用
Redirect则重新开始一个request,原页面的request生命周期结束。
3. Forward 可以带信息过去(也就是用request.getAttribute()),而Redirect不行,只能在地址上传递参数了.