本质区别:
请求的转发只发出了一次请求,而重定向则发出了两次请求.
//请求转发
//1.调用HttpServletRequest 的 getRequestDispatchar() 方法获取 RequestDispatchar 对象
//调用 getRequestDiparchar() 需要传入要转发的地址
String path="testServlet";
RequestDispatcher
requestDispatcher=request.getRequestDispatcher("/"+path);
//2.调用 HttpServletRequest 的 forward (request, response)进行请求的转发.
requestDispatcher.forward(request, response);
//执行请求的重定向
//pasth 为重定向的地址
String path="testServlet";
response.sendRedirect(path);
请求的转发:地址栏是初次发出请求的地址.
请求的重定向:地址栏不再是初次发出的请求地址.地址栏为最后响应的那个地址.
请求转发: 在最终的Servlet中,request 对象和中转的那个request是同一个对象.
请求重定向:在最终的Servlet 中,request 对象和中转的那个request不是同一个对象.
请求的转发:只能转发给当前WEB 应用的资源.
请求的重定向:可以重定向到任何资源.
image.png
网友评论