**重定向和转发的一个重要的不同:**
重定向是第一个页面通知浏览器发送一个新的页面请求。即张三找李四借钱,李四让张三去找王五!即让用户再次确认浏览器发出的请求,用户是明确页面跳转目的地。
与之相反,使用转发的时候,jsp容器会使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器用户是不知道这个过程的!即张三找李四借钱,李四替张三找王五借钱,并把钱借给张三!
所以当使用转发的时候该url会保持不变。而重定向方式的浏览器显示的页面ur会变成新页面的url。而且重定向由于需要再次发出请求所以访问的速度会比转发慢!并且由于再次发送了请求,所以经过重定向之后request内的对象将无法使用!
转发和重定向的优缺点及选择时候的先后顺序:
一般情况下是优先使用转发的,因为转发通常情况下更快,但是由于转发之后跳转到目标页面,但是url没有发生改变,所以在重载的时候会重新调用开始页面。但是转发能够解决进行页面之间传递数据的时候使用session带来的作用域变大的问题!
转发只是将两个页面在不通知浏览器的情况下拼接在了一起,其中的request都可以正常使用,重定向则是进入到了新的页面,url也发生了变化,之前的request全部失效!
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/ice_alone/article/details/47415303