2011-05-03 11 views
5

Si nos fijamos en el diagrama Java EE FrontController secuencia, los delegados del controlador, el dispositivo para Dispatcher y el documento dice que:Java EE FrontController Vs de primavera

Un despachador es responsable de la gestión y que la navegación, la gestión de la elección de la siguiente vista para presentar al usuario, y que proporciona el mecanismo para vectorizar el control de este recurso.

En Spring MVC, los DispatcherServlet actúa como FrontController (como se menciona en el libro de Craig Walls), y este servlet delega la petición a otros controladores que a su vez llama a la clase de servicio apropiada (para procesar la solicitud) y luego devuelve una instancia de ModelAndView a DispatcherServlet nuevamente.

Así que más o menos así es como petición suele viajar:

Cliente -> DispatcherServlet -> Controlador -> Servicio -> DAO

Si se compara este flujo con Java EE FrontController patrón diagrama de secuencia, parece que DispatcherServlet es no es cierto FrontController.

¿Qué dice usted acerca de esto?

Respuesta

10

Yo diría que el DispatcherServlet llena los rollos del controlador frontal y el despachador. Sin embargo, en lugar de delegar directamente en la vista, DispatcherServlet delega en otro controlador. Esto le permite separar mejor su presentación de la lógica de su negocio. En el paradigma del controlador frontal "puro", es posible que deba agregar alguna lógica comercial a sus vistas.

En resumen, el DispatcherServlet cumple los mismos objetivos que el patrón del controlador frontal. Pero se desvía ligeramente al permitirle agregar otra capa de controladores al despachador. Pienso que es una cosa buena.

+0

Sí .. Esto es claro. – Vicky