Bienvenido a re-orientation! Esperamos que encuentres lo que buscas

¿Como se gestiona la request? El servlet principal

Parte del Manual para la creación, paso a paso, de una aplicación web Java MVC totalmente operativa sin el uso de frameworks


Como vimos en el apartado anterior, la página solicita_libro_cuento.html solicita la acción listarLibrosDeCuentoDisponibles contra un servlet llamado SPrincipal.

SPrincipal será el encargado de recibir la petición realizada desde la página html. El método doPost de este servlet tratará la solicitud recibida desde la web (objeto request):

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

		String parametro, accion = null;
		parametro = request.getParameter("pAccion");
		
		if(parametro != null && parametro.length() > 0){
			
			accion = parametro;
			AccionProxy accProxy = AccionProxy.getInstance();
			accProxy.creaAction(request, response, accion);
			
		}
	}

En el código se observa como se recupera de la request el parámetro pAccion y se obtiene su valor (donde aparece el nombre de la acción solicitada: listarLibrosDeCuentoDisponibles). Si este parámetro es válido, obtenemos la instancia existente de la clase AccionProxy (que veremos en el siguiente apartado) a la que pasamos el control invocando a su método "creaAction", con los parámetros de la conexión y el nombre de la acción solicitada desde la web.

Aquí se termina el trabajo de SPrincipal, que en nuestro ejemplo sólo se limita a ser el punto de entrada unificado para todas las posibles peticiones y pasar el control a AccionProxy.

En el siguiente apartado veremos que hace AccionProxy con la información recibida desde SPrincipal.

Aunque podríamos unificar el código de SPrincipal y AccionProxy, en el ejemplo no lo haremos para simplificar las explicaciones y porque separando las funciones de AccionProxy (especializada en la gestión del flujo de navegación), dejamos a SPrincipal habilitada para encargarse de otras tareas no relacionadas si fuera el caso.

Terminos Tecnología: