Search code examples
javajspservletscalling-conventionmethod-call

How does method chaining work?


How does getRequestDispatcher("xxx") get called from getServletContext() in the example below? How does calling procedures like this work in general? Please give me a clear picture about this context.

RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/index.jsp");
dispatcher.include(request, response);

Solution

  • getServletContext() returns a ServletContext object, which has a method called getRequestDispatcher(). Your line of code is just shorthand for two method calls, and is equivalent to this code:

    ServletContext context = getServletContext();
    RequestDispatcher dispatcher = context.getRequestDispatcher("/index.jsp");