一、请求转发:
// 获取请求转发器对象
RequestDispatcher dispatcher = request.getRequestDispatcher("/abc");
// 调用请求转发器对象的forward方法完成转发
dispatcher.forward(request, response);
// 转发的时候是一次请求,不管你转发了多少次,都是一次请求。
// AServlet转发到BServlet,再转发到CServlet,再转发到DServlet,不管转发了多少次,都在同一个request当中。这是因为调用forward方法的时候,会将当前的request和response对象传递给下一个Servlet。
二、重定向:
// 将请求路径“/oa/test/abc”发送给浏览器,浏览器会自发的向服务器发送一次全新的请求。
response.sendRedirect("/oa/test/abc");
// 注意:路径上要加一个项目名。因为浏览器发送请求,请求路径上是需要添加项目名的。
三、请求转发和重定向的区别:
形式上: