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

一、区别图解

1、 forward (请求转发) :
request.getRequestDispatcher("/xx.jsp").forward(request, response);

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


2、redirect (重定向) :
response.sendRedirect(request.getContextPath()+"/xx.jsp");
            
forward请求转发和redirect重定向的区别图解整理


二、区别整理


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


三、总结

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

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






相关文章: