比较转发与重定向
- (1)浏览器地址栏的地址有无变化?
转发之后,浏览器地址栏的地址不变,重定向会变。 - (2)目的地(地址)有无限制?
转发有限制(要求属于同一个应用),重定向地址无任何限制。 - (3)能否共享request对象?
转发可以,重定向不行。
注:
当容器收到请求之后,会立即创建request对象和response
对象,当容器发送响应之后,会立即销毁这两个对象。也就是,
request和response的生存时间是一次请求和响应期间存在。
-
(4)一件事是否做完?
转发是一件没有做完,让另外一个web组件继续做;重定向是一件 事已经完成,然后再做另外一件独立的事件。 -
(5)
//重定向:
httpResponse.sendRedirect(uri);
//转发:
RequestDispatcher rd = request.getRequestDispatcher(String uri);
rd.forward(request,response);
网友评论