forward请求转发和redirect重定向的区别图解整理

forward请求转发和redirect重定向的区别图解整理

 

一、区别图解

1、 forward (请求转发) :

request.getRequestDispatcher("/xx.jsp").forward(request, response);

            

forward请求转发和redirect重定向的区别图解整理_第1张图片

 

2、redirect (重定向) :

response.sendRedirect(request.getContextPath()+"/xx.jsp");

            

forward请求转发和redirect重定向的区别图解整理_第2张图片

 

 

二、区别整理

 

 

 

区别 forward() sendRedirect()
request对象setAttribute();的值是否
会丢失
不会
地址栏是否变化 否 (和请求Servlet
地址一致)
是 (显示转向后的地址)
是否可转向本web应用之外的页面
或网站
转向速度

 

 

三、总结

             1、由一图解可知, forward 请求转发是服务端行为,由一个Servlet转发给另一个Servlet。

2、 redirect 重定向是客户端行为,服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

 

 

 

参考资料: https://www.cnblogs.com/Qian123/p/5345527.html

 


 

你可能感兴趣的:(Java)