转发与重定向
一、转发
定义:在同一程序中,请求资源由资源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");