一、请求的转发:
1、调用HttpServletRequest的getRequestDispatcher()方法获取RequestDispathcher对象;
调用getRequestDispatcher()需要传入要转发的地址:
String path = "testServlet“;(testServlets是地址)
RequestDispatcher requestDispatcher = request.getRequestDispatcher(”/“+path);
2、调用HttpServletRequest的forward(request,response)进行请求的转发。
requestDispatcher.forward(request.response);
二、请求的重定向方法:
1、执行请求的重定向,直接调用response.sendredirect(path)方法;
String path = "testServlet";
response.sendredirect(path);
两者的区别:
请求转发只发出一次请求,重定向发出两次请求;
1、请求转发:地址栏是初次发出请求的地址;
请求重定向:地址栏不再是初次发出的请求地址,地址栏为最后相应的那个地址;
2、请求转发:在最终的Servlet中,request对象和中转的那个热区set是同一个对象;
请求重定向:在最终的Servlet中,request对象和中转的那个request不是同一个对象;
3、请求转发:只能钻法给当前web应用的资源;
请求重定向:可以重定向到任何资源;
4、请求的转发:"/"代表的是当前web应用的根目录;
请求重定向:“/”代表的是当前web站点的根目录;