Wednesday, September 22, 2010

Servlet Chaining

Servlet Chaining means the output of one servlet act as a input to another servlet. Servlet Aliasing allows us to invoke more than one servlet in sequence when the URL is opened with a common servlet alias. The output from first Servlet is sent as input to other Servlet and so on. The Output from the last Servlet is sent back to the browser. The entire process is called Servlet Chaining.

Two Ways to Chain ServletsIn Servlets/JSPs, there are two ways to achieve servlet chaining using javax.servlet.RequestDispatcher:
  1. Include:

    RequestDispatcher rd = req.getRequestDispatcher("Servlet2");
    rd.include(req, resp);
  2. Forward, where req is HttpServletRequest and resp is HttpServletResponse:

    RequestDispatcher rd = req.getRequestDispatcher("Servlet3");
    rd.forward(req, resp);