forward请求转发和redirect重定向的区别图解整理
一、区别图解
1、 forward (请求转发) :
request.getRequestDispatcher("/xx.jsp").forward(request, response);

2、redirect (重定向) :
response.sendRedirect(request.getContextPath()+"/xx.jsp");

二、区别整理
| 区别 | forward() | sendRedirect() |
| request对象setAttribute();的值是否 会丢失 | 不会 | 会 |
| 地址栏是否变化 | 否 (和请求Servlet 地址一致) | 是 (显示转向后的地址) |
| 是否可转向本web应用之外的页面 或网站 | 否 | 是 |
| 转向速度 | 快 | 慢 |
三、总结
1、由一图解可知, forward 请求转发是服务端行为,由一个Servlet转发给另一个Servlet。
2、 redirect 重定向是客户端行为,服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
参考资料: https://www.cnblogs.com/Qian123/p/5345527.html
本文详细解析了forward请求转发和redirect重定向的区别,并通过图解形式清晰展示两种方式的不同特性,包括request对象属性保留情况、地址栏变化、转向范围及速度等方面。
480

被折叠的 条评论
为什么被折叠?



