1:转发使用的是
request.getRequestDispatcher()
重定向使用的是
response.sendRedirect();
2:请求的次数不一样
转发是一次请求浏览器只做了一次访问
重定向,浏览器至少访问两次
3:地址栏信息不一样
转发的地址栏不变,任然保留着上一次的请求路径
重定向的地址栏是一定变化的,和内容保持一致
4:访问资源不同
转发只能访问服务器内的资源
重定向没有任何限制,可以是内部也可以是外不
5:携带数据
因为转发只有一个request请求对象,request对象是可以携带参数的,所以转发可以携带参数
因为request请求对象是,发起请求时创建,请求结束后销毁,所以重定向无法携带参数,因为重定向是至少两次请求
本文详细介绍了HTTP请求中转发(request.getRequestDispatcher())与重定向(response.sendRedirect())的区别,包括请求次数、地址栏显示、访问资源及数据传递等方面。转发是一次请求,地址栏不变,仅限服务器内部资源;重定向至少两次请求,地址栏更新,可访问内外部资源,但无法携带参数。
1895

被折叠的 条评论
为什么被折叠?



