Difference requestDispatcher.forward and resp…

2008-02-23 09:20:29来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

引言
在使用response的过程中经常会遇到跳转页面的事情,这个时候有两种情况供你选择
1。就是调用
ServletContext.getRequestDispatcher(Java.lang.String).forward(request ,
response) ;
2。就是调用response.setRedirect(),可是这两个方法有什么不同呢?


看看TSS上关于这个问题的解释:
Difference request.forward() and response.sendRedirect .
Posted by: Kapil Israni on August 24, 2000 in response to Message #2253 1
replies in this thread
i suppose u r talking bout requestDispatcher.forward() here.

well basically both method calls redirect u to new resource/page/servlet.

the difference between the two is that sendRedirect always sends a header
back to the client/browser. this header then contains the
resource(page/servlet) which u wanted to be redirected. the browser uses
this header to make another fresh request. thus sendRedirect has a overhead
as to the extra remort trip being incurred. its like any other Http request
being generated by ur browser. the advantage is that u can point to any
resource(whether on the same domain or some other domain). for eg if
sendRedirect was called at www.mydomain.com then it can also be used to
redirect a call to a resource on www.theserverside.com.

where as in case of forward() call, the above is not true. resources from
the server, where the fwd. call was made, can only be requested for. but
the major diff between the two is that forward just routes the request to
the new resources which u specify in ur forward call. that means this route
is made by the servlet engine at the server level only. no headers r sent
to the browser which makes this very eficient. also the request and
response objects remain the same both from where the forward call was made
and the resource which was called.

i hope i have hit ur question right.

上一篇: StrutsFileUpload
下一篇: OSWorkflow深入分析 - 重新定义Configuration接口

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:workflow接口划分

下一篇:Java关键字: transient | strictfp | volatile