转发与重定向

一、转发

定义:在同一程序中,请求资源由资源A处理,到由资源B处理,资源A和资源B属于同一个应用资源。浏览器中所显示的URL不变。

图示:
转发与重定向
请求转发与请求包含:
RequestDispatcher rd = request.getRequestDispatcher("/BServlet");
转发:rd.forward(request,response);由BServlet完成响应体,AServlet完成响应头。
包含:rd.include(request,response);由AServlet和BServlet共同完成响应体。
无论是请求转发还是请求包含,都在同一个请求范围内!!使用同一个request和response。

二、重定向

定义:AServlet通知浏览器发送一个新的BServlet页面请求,浏览器中所显示的URL会变成新页面的URL。

图片:
转发与重定向
使用: response.sendRedirect("/index.jsp");