转发与重定向的本质区别:
请求的转发只发出一次请求,而重定向则发出了两次请求。
具体的表现:
1.请求的转发:地址栏是初次发出的请求地址。
请求的重定向:地址栏不再是初次发出的请求地址,地址栏为最后响应的那个地址。
2.请求的转发:在最终的Servlet中,equest对象和中转的那个request是同一个对象。
请求的重定向:在最终的Servlet中,equest对象和中转的那个request不是同一个对象。
3.请求的转发:只能转发给当前WEB应用的资源。
请求的重定向:可以重定向到任何资源。
4.请求的转发:/ 表示的是当前WEB应用的根目录。
请求的重定向: / 表示的是当前的WEB站点的根目录
代码:
//请求转发的代码
request.getRequestDispatcher("/c.jsp").forward(request,response);
//请求重定向的代码
response.sendRedirect("c.jsp");