请求转发:一种在服务器内部的资源跳转方式
步骤: 通过request对象获取请求转发器对象 :RequestDispatcher getRequestDispatcher(String path)使用RequestDispatcher对象来进行转发:
forward(ServletRequest request, ServletResponse response) 特点: 浏览器地址栏路径不发生变化;只能转发到当前服务器内部资源中;转发是一次请求;
requestA:
@WebServlet("/requestA")public class requestDemoa extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("A被访问了");//转发到B资源去request.getRequestDispatcher("/requestB").forward(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);//执行doPost代码逻辑,简化代码}}
requestB:
@WebServlet("/requestB")public class requestDemob extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("B被访问了");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);//执行doPost代码逻辑,简化代码}}
启动服务器: