javaweb请求转发和重定向

一、请求的转发:

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站点的根目录;

你可能感兴趣的:(javaweb)