Spring MVC se basa en la API de Servlet de Java EE. A los fines de esta explicación, si no tiene antecedentes de Servlet API, piense en el servlet como una clase con métodos que toman la solicitud HTTP y generan una respuesta HTTP. Este es un nivel demasiado bajo para uso práctico, por lo que Spring ofrece una forma de simplificarlo y permite que el programador trabaje en términos de beans, que son el componente básico de Spring Framework.
Spring proporciona el Servlet Dispatcher que maneja las solicitudes HTTP. Dentro de la aplicación Servlet, hay un mapeo (en un archivo llamado web.xml
) que le dice al contenedor de servlet (como Apache Tomcat, por ejemplo) que ciertas rutas deben enviarse al Servlet Dispatcher.
El Servlet Dispatcher necesita saber a qué Controlador, un bean proporcionado por el programador, para enviar la solicitud. Handler Mapping, un bean proporcionado por Spring MVC, toma esta decisión.
- ¿Cuáles fueron las charlas más interesantes en la Conferencia Velocity de este año?
- ¿Qué marco es el mejor marco PHP entre Yii, Laravel, CodeIgniter, Symfony, etc.? ¿Es cierto que PHP se está volviendo obsoleto? ¿Qué marco (s) va a ser el marco del futuro, lo más probable?
- ¿Qué modelo de objeto utilizamos en JavaScript?
- ¿Cuál es el mejor libro o sitio web para aprender HTML?
- ¿Qué tarifa por hora ganan las personas en Freelancer.com y sitios web de outsourcing similares?
El controlador toma la solicitud y devuelve un ModelAndView, un bean proporcionado por Spring MVC. (Tenga en cuenta que esta no es la única opción). Contiene un nombre de String
de una vista y los datos del modelo que se mostrarán con la vista. View Resolver convierte este nombre de cadena en una ruta que se puede usar como View. Cuando se usa la tecnología JSP tradicional, el View Resolver especifica la ubicación del archivo y la extensión del nombre de archivo a usar.
El servlet Dispatcher luego envía la solicitud a la tecnología View. Reenvía la solicitud, luego obtiene la respuesta para enviar como una respuesta HTTP. En el caso de un JSP, el Contenedor de Servlet lo compila en un Servlet que a su vez maneja una solicitud y respuesta HTTP. El modelo se representa en la salida de la tecnología View, generalmente como HTML. Por lo tanto, el Modelo son los datos que se generan, que la Vista formatea en algo útil para el usuario.