执行请求的转发:
调用HttpServletRequest的getRequestDispatcher方法获取RequestDispatcher对象,
调用getRequestDispatcher()需要传入要转发的地址,调用HttpServletRequest的forw(request,response)进行请求的转发。request.getRequestDispatcher("/TestServlet").forward(request, response);
执行请求的重定向:
直接调用response.sendRedirect(path)方法,path为要的重定向的地址。
String path="TestServlet";
response.sendRedirect(path);
区别:
请求的转发只发出了一次请求,而重定向发出了两次请求。1.请求的装发:地址栏是初次发出请求的地址,
请求的重定向:地址栏不再是初次发出的请求地址,地址栏是最后响应的地址。
2.请求转发:最终servlet中,request对象和中转的request是同一个对象。
请求的重定向不是同一个。
3.对于请求的转发:只能转发到当前WEB应用的资源
对于重定向:可以重定向到任何资源
4.对于请求的转发: / 代表当前WEB应用的根目录
对于重定向: / 代表当前站点的根目录