forward(request,reponse)与sendRedirect

 forward(request,reponse)sendRedirect不同有以下几点:

  (1)forward是转发,是在同一个站点进行转发。所以转发前页面的值在转发后还是可以获取的

,可以通过request获取转发前的值。而sendRedirect不仅可以重定向到另一个网站的页面,也

可以重定向到自己网站的页面,但是它是两次请求,两次请求的request对象都不相同。重定

向过后页面不能够使用重定向以前的参数值,request是一个新的对象。

  (2)forward转发到另一个页面时,是另一个页面的内容。URL还是转发前的页面的,这样有利

于安全性的提高。而sendRedirect重定向是新请求一个页面,相当于在URL中输入另一个网址

即新的请求,所以地址会发生改变。

3)forwardsendRedirect在被调用以前,会清空缓冲区。意思是不能有内容被输出到页面,

如果缓冲区有内容,调用之前会被清空。

(4)forwardsendRedirect代码执行都会向下执行,所以有必要时应该加上return语句来防止

产生异常。


猜你喜欢

转载自blog.csdn.net/lovequanquqn/article/details/51388279