Arquitectura modelo-vista-controlador
Hola, tengo una duda a cerca de la arquitectura modelo-vista-controlador. Supuestamente el modelo llegarÃa a ser mi BD, el controlador mi funcionalidad(java beans) y la vista mi interfaz(html). Pero si estoy trabajando con JSP en la vista estaria tambien mi codigo JSP y ahà ya estarÃa mezclando la estructura de dicha arquitectura, como harÃa para que mi vista no esté mezclada?? si debo trabajar necesariamente con JSP y Beans ??
gracias de antemano
gracias de antemano
Espero que esto te sirva, hace unos años yo me plantee el mismo dilema, como puedo separar la Vista del Controlador y de las clases Entidad. La verdad es que hay muchos libros que te hablan de ello, pero ninguno te dice como es de verdad el asunto.
Yo no usaba Beans, pero para el caso me daba igual, asà que lo que querÃa era independizar al máximo la parte de diseño gráfico y presentación (Vista JSP) de lo que era el control de las transacciones y del acceso a la BB.DD.
La ide que he visto en varios sitios y que yo mismo aplico es la siguiente:
1. Vista: Para ello uso JSP normales y corrientes, pero claro no puedo sacar todo el código de la JSP, quiero decir, que no puedo generar HTML puro y duro, asà que lo que hago es minimizar ese código, ¿Cómo? pues bien que las Vistas reciban datos ya "hechos o rellenos" en otro sitio, ¿En qué sitio? en el controlador. Los tipos de datos que debe recibir la JSP se basan en Beans y ArrayList, que o bien a traves de Request o bien en la Session se los paso a la JSP en concreto, de esta forma me ahorro mucho código en estas páginas.
2. Controlador: En este caso podemos usar Servlets o Struts (a tu elección), y lo que hago es crear un primer Control que me dirá de qué página vengo, analizando la cabecera de la request, y después me dirá, en función de unos parámetros, a donde voy, y en esos pasos intermedios lo que hago es acceder a la BB.DD., te preguntarás que si lo hago directamene desde el Servlet o Strut, pues no, lo que hago es desde otras clases (Entidad) que yo le llamo Beans, acceder a la B.D., por ejemplo en su constructor, y que sean estas clases las que se encarguen de recibir las excepciones de la BB.DD. o de las funciones que quiera usar.
3. Entidad: serán una serie de clases, que como te he dicho antes yo llamo Beans, y que se encargarán de la lógica de la aplicación.
Espero haberte sido de utilidad.
Yo no usaba Beans, pero para el caso me daba igual, asà que lo que querÃa era independizar al máximo la parte de diseño gráfico y presentación (Vista JSP) de lo que era el control de las transacciones y del acceso a la BB.DD.
La ide que he visto en varios sitios y que yo mismo aplico es la siguiente:
1. Vista: Para ello uso JSP normales y corrientes, pero claro no puedo sacar todo el código de la JSP, quiero decir, que no puedo generar HTML puro y duro, asà que lo que hago es minimizar ese código, ¿Cómo? pues bien que las Vistas reciban datos ya "hechos o rellenos" en otro sitio, ¿En qué sitio? en el controlador. Los tipos de datos que debe recibir la JSP se basan en Beans y ArrayList, que o bien a traves de Request o bien en la Session se los paso a la JSP en concreto, de esta forma me ahorro mucho código en estas páginas.
2. Controlador: En este caso podemos usar Servlets o Struts (a tu elección), y lo que hago es crear un primer Control que me dirá de qué página vengo, analizando la cabecera de la request, y después me dirá, en función de unos parámetros, a donde voy, y en esos pasos intermedios lo que hago es acceder a la BB.DD., te preguntarás que si lo hago directamene desde el Servlet o Strut, pues no, lo que hago es desde otras clases (Entidad) que yo le llamo Beans, acceder a la B.D., por ejemplo en su constructor, y que sean estas clases las que se encarguen de recibir las excepciones de la BB.DD. o de las funciones que quiera usar.
3. Entidad: serán una serie de clases, que como te he dicho antes yo llamo Beans, y que se encargarán de la lógica de la aplicación.
Espero haberte sido de utilidad.