Está en la página 1de 20

Controladores

Controlador Frontal

● Crea un punto de acceso centralizado para manejar la capa de presentación.


● Sin el Controlador Frontal se tendría una lógica duplicada para gestionar
todas las peticiones del Usuario
● Un MVC es una implementación de este patrón.
Controlador frontal
Consecuencias

● Control centralizado
● Mejor manejo
● Reutilización de recursos
● Separación de funciones

Usos

● Evitar lógica duplicada en el control de peticiones.


● Aplicar una lógica homogénea en todas las peticiones.
● Separar la Vista del sistema lógico de procesos.
● Centralizar puntos de acceso a tu servidor.
Controlador Frontal
Controlador de Aplicación

Desea centralizar y modularizar acción y control de la vista.


Controlador de Aplicación
Se usa cuando
Desea volver a utilizar código de acción y control de la vista.
Quiere mejorar la extensibilidad petición de manejo, tales como la adición de la
funcionalidad caso de uso de una aplicación de forma incremental.
Quiere mejorar la modularidad y capacidad de mantenimiento de código, por lo
que es más fácil de extender la aplicación y más fácil de probar piezas discretas
de su código de solicitud de manejo independiente de un contenedor web.

consecuencias
mejora la modularidad
mejora la capacidad de reutilización
mejora la extensibilidad
Controlador de Aplicación
Service to worker

Desea realizar la solicitud principal de manejo e invocar la lógica de negocio antes


se pasa el control a la vista.
Service to Worker
Se usa cuando

¿Quieres lógica de negocio específica ejecutado para atender una solicitud con el
fin de recuperar el contenido que se utilizará para generar una respuesta dinámica.
Tiene vista de selecciones que pueden depender de las respuestas de las
invocaciones de servicios empresariales.
Puede que tenga que utilizar un marco o una biblioteca en la aplicación.

Consecuencias
El control centralizado y mejora la modularidad, reutilización y facilidad de
mantenimiento
Mejora la separación de funciones
Service to Worker
Java servlet
● Es el despachador que entrega los componentes de la Vista al usuario.
● Recibe una solicitud y genera una respuesta en base a esa solicitud.
● Para que un servlet funcione, es necesario utilizar un Web Container.
● A diferencia de un JSP, los Servlet encapsulan código HTML.
Web Container
● Es el componente de un servidor que interactúa con los Java Servlets.
● Es responsable de:
○ Administrar el ciclo de vida de los servlets
○ Mapear una URL al Servlet que le corresponde
○ Asegurarse de que el Usuario solicitante tenga los privilegios adecuados
● Ejemplo:
○ Apache Tomcat
○ Oracle Glassfish
Java Server Pages (JSP)
● Permite integrar código en Java a páginas web en HTML.
● Es la abstracción de alto nivel de un Servlet.
● Durante el tiempo de ejecución se transforma a Servlet.
● Un Web Container crea objetos JSP implícitos, como:
○ pageContext
○ servletContext
○ session
○ request
○ response
Spring MVC
● Framework en código libre que implementa un MVC para servidores que
utilizan la plataforma Java.
● Permite configurar aplicaciones complejas desde componentes simples
● Los objetos se declaran en archivos XML.
● org.springframework.web.servlet.DispatcherServlet
○ Es el controlador frontal de Spring MVC
○ Administra las solicitudes del usuario y las procesa según el mapeo definido.
● Fundamentos

● capas del diseño arquitectónico del web enable


Spring MVC - web.xml
Spring MVC - view-resolver-servlet.xml
Spring MVC - ViewResolverController.java
Multi-tier Architecture
● Capas
○ Presentación
■ Presenta actividades, tareas y resultados que el usuario pueda entender.
■ Interfaz de usuario
○ Lógica
■ Coordina la aplicación
■ Procesa comandos
■ Evaluaciones y decisiones lógicas.
■ Mueve la información entre la capa de presentación y datos.
○ Datos
■ Es el repositorio donde la información es almacenada y consultada.
Multi-Tier Architecture
● En un desarrollo web se compone de 3 capas principales
○ Front end Web Server
■ Sirve contenido estático
■ Web App
● Del lado del usuario.
● El contenido que despliega el navegador.
○ Procesador de contenido dinámico
■ Del lado servidor
■ Ejemplo:
● Ruby, PHP, ASP .NET, Java EE.
○ Back end database
■ Conjuntos de datos de algún DBM
■ Ejemplo:
● MYSQL, PostgreSQL, Oracle.
BIbliografía
● http://www.javamakeuse.com/2015/03/what-is-front-controller-in-spring-mvc.ht
ml

● http://www.codejava.net/frameworks/spring/14-tips-for-writing-spring-mvc-cont
roller

● http://crunchify.com/simplest-spring-mvc-hello-world-example-tutorial-spring-
model-view-controller-tips/

También podría gustarte