执行请求的转发:
调用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应用的根目录
对于重定向: / 代表当前站点的根目录

本文详细阐述了HTTP请求中的两种重要操作——请求转发与重定向的区别与应用场景。请求转发只发出一次请求,在服务器端完成资源跳转;而重定向则会发送两次请求,客户端浏览器地址会发生变化。

被折叠的 条评论
为什么被折叠?



