Está usted en Indice > Construcción > Lenguajes > Java > Lecciones y Paso a Paso > Como crear una aplicación con Struts paso a paso en Java
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Como crear una aplicación con Struts paso a paso en Java (2)

Gracias a la arquitectura MVC, podríamos desarrollar por un lado la interfaz del cliente Web, y delegar en otro equipo de desarrollo la parte de la lógica de negocio. En nuestro caso primero desarrollaremos la parte de negocio, para terminar implementando la capa de presentación y control (más que nada, por claridad en el desglose de los conceptos y su aplicación práctica).

Entender cómo trabaja Struts

Antes de entrar en detalles específicos de nuestra aplicación, debemos entender cómo trabaja Struts para poder afrontar con éxito otro tipo de desarrollos y aplicaciones.

Como se aprecia en la figura, las aplicaciones Struts residen en un contenedor Web (dentro de un servidor de aplicaciones) y pueden hacer uso de los servicios proporcionados por el contenedor, como el manejo de peticiones HTTP o HTTPS. Esto permite al desarrollador olvidarse de la lógica de negocio. Así, Struts hace uso de varias áreas de recursos compartidos para almacenar objetos: petición ( javax.servlet.http.HttpServletRequest ), sesión ( javax.servlet.http.HttpSession ), aplicación ( javax.servlet.ServletContext ) y página ( javax.servlet.jsp.PageContext ).

Desde el punto de vista de la arquitectura MVC, las clases que proporciona Struts respecto de la capa C son:

  • ActionServlet , clase que extiende javax.servlet.http.HttpServlet responsable del empaquetado y enrutado del tráfico HTTP hacia el manejador apropiado dentro del entorno (framework). No es abstracta, y por tanto se puede utilizar directamente en cualquier aplicación.
  • RequestProcessor , clase que permite desacoplar el proceso de petición (request process) del ActionServlet y así poder modificar cómo se procesa la petición (haciendo un 'subclass' de RequestProcessor).
  • Action , clase que independiza la petición del cliente del modelo de negocio. Es una extensión del componente de control (capa C) y permite llevar a cabo funciones como autorización, logging, o validación de sesión, antes de invocar la lógica de negocio. Su método más importante es:

    public ActionForward execute(ActionMapping mapping, HttpServletRequest request, HttpServletResponse response) throws Exception;

  • ActionMapping , clase que representa una acción de mapeado que se define en el fichero de configuración de Struts. Indica al controlador que instancia de Action se debe invocar en cada petición.
  • ActionForward , clase que representa el destino al cual el controlador debe enviar el control una vez que una Action se ha completado (nos evitamos meter el 'forward' en la página JSP).

Con respecto de la capa M, ya hemos comentado que Struts no fue diseñado para trabajar con esta capa. Sin embargo, es obvio que Struts recibirá información de esta capa (aunque no sepa cómo está implementada). Así, la mejor forma de solucionar cómo Struts se comunica con la capa de negocio de forma que sea completamente independiente de la tecnología de implementación de ésta, es utilizar un patrón de diseño, como por ejemplo DTOs (Data Transfer Objects), también llamados Value Objects (VO).

La idea es que Struts reciba la información en forma de vistas (VOs), pero no sepa cómo se han creado esas vistas. Para ello también necesitaremos implementar un nuevo patrón de diseño muy conocido, el Business Delegate. Con este patrón, crearemos un servicio perteneciente a la capa de negocio, que servirá de nexo de unión con la capa de control y será a través del cual Struts pedirá y recibirá los únicos objetos que entiende y con los que sabe trabajar: los VOs. Por el otro lado, la capa de negocio sólo sabrá que puede recibir peticiones del servicio de acceso a BD a través de JDBC y devolverá VOs, sin importarle ni quién los pide ni quién los usa a continuación (no os preocupéis que con los ejemplos se verá mucho más claro).

Por último, con respecto a la capa V, los elementos de los que hace uso Struts son (algunos ya los conocemos):

  • HTML
  • Value Objects (vistas)
  • ActionForms , clase que permite pasar datos de entrada hacia delante y hacia atrás entre el usuario y la capa de negocio.
  • JavaServer Pages
  • Struts Tags (librería de etiquetas)
  • Otros recursos Java

Paso a paso: la capa del modelo de negocio

Veamos, tal y como se ha comentado, en primer lugar cómo ir desarrollando el código de la lógica de negocio para nuestra aplicación del carrito de la compra.



Usuarios que han visto este tema también han visto...

- ¿Qué es el path y el classpath de Java?
- Generar un archivo ejecutable con Java
- Crear sonido timbre de teléfono en Java
- Los operadores en Java
- Los interfaces y la Herencia Múltiple en Java


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 06-09-2008 a las 21:03:51