一、概念:
转发:由服务器端进行的页面跳转。
重定向:由浏览器端进行的页面跳转。
二、转发和重定向的作用:
在Servlet中实现页面的跳转有两种方式:转发和重定向。
三、特点:
1. 转发 携带数据
1.1 地址栏不变;
1.2 服务器内部跳转,浏览器不知道
1.3 公用一个request,所以可以在request作用域中存储数据
1.4 A接到用户请求,帮助用户找到B
1.5 只能跳转到当前项目下
1.6 代码实现:req.getRequestDispatcher(URI).forward(req, resp);
2. 重定向 不携带数据
2.1 地址栏改变
2.2 浏览器发送新的请求
2.3 不共享一个request
2.4 A接到用户的请求,告诉用户,你去找B
2.5 可以到跳转到其它项目下
2.6 代码实现:resp.sendRedirect(URL);
四、原理:
转发:
重定向:
五、区别:
小技巧
如果需要传递数据 就使用转发
如果不需要传递数据,可以使用重定向