No siempre un Servlet estará codificado para atender a una petición. Sino que muchas veces y por muchos motivos tendrá que reenviar la petición para que la siga procesando otro Servlet. En este ejemplo vamos a ver cómo reenviar petición a otro Servlet.
Uno de estos casos claros es cuándo estamos implementando un patrón Controller. Donde ese punto de acceso encaminará las peticiones a diferentes Servlets. Para encaminar la petición necesitaremos de una simple línea de código.
Pero lo primero será codificar el método .doGet() que es el que recibirá la petición y desde el sitio a donde interceptaremos la petición para poder encaminarla hacía otro Servlet.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
...
}
Lo siguiente será implementar el encaminamiento mediante una línea de código. En esta línea recuperaremos el manejador de uno de los Servlets de la aplicación web y le reenviaremos los objetos petición, representado por el objeto HttpServletRequest, y respuesta, representado por el objeto HttpServletResponse, para que los maneje.
Para poder reenviar la petición utilizaremos el método forward(request, response) del objeto RequestDispatcher:
El código de nuestro programa Java nos quedaría de la siguiente forma:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("NombreDelServlet")
.forward(request, response);
}
Es importante saber cómo se llama el Servlet al que encaminamos la petición. Ya que el nombre de este Servlet será el parámetro que reciba el método .getRequestDispatcher().

