1、请求转发(Request Forwarding):
- 使用
RequestDispatcher.forward
方法。 - 只能将请求转发给同一个Web应用程序中的其他资源(例如,Servlet或JSP)。
- 可以在转发过程中携带数据,因为请求和响应对象在整个转发过程中是同一个。
RequestDispatcher dispatcher = request.getRequestDispatcher("/path/to/destination");
dispatcher.forward(request, response);
2、重定向(Redirect):
- 使用
HttpServletResponse.sendRedirect
方法。 - 允许将请求重定向到当前Web应用程序中的其他资源,也可以是不同Web应用程序的资源。
- 不能直接在重定向过程中传递数据,因为重定向实际上是两个独立的请求-响应周期,第一个请求的属性不能直接传递到第二个请求中。
response.sendRedirect("/path/to/destination");