[Struts] – Aplicaciones modulares
El éxito de Java sobre los cientos de lenguajes de programación existentes se debe a que fue el primero en promover y apoyar dos principios básicos: modularización y reutilización. Yo creo que todos conocemos y utilizamos estos principios.
Para aplicarlos al nivel de una aplicación web, Struts desde su versión 1.1 nos permite sudividir nuestra aplicación en subaplicaciones (módulos) para facilitar el trabajo simultáneo de diferentes equipos sobre la misma aplicación y facilitar la reutilización de módulos enteros (como un login común, administración, consulta de datos comunes…).
Para ello en la configuración del ActionServlet en el fichero web.xml introducimos algo similar a :
<!– Action Servlet Configuration –>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>config/login</param-name>
<param-value>/WEB-INF/struts-config-login.xml</param-value>
</init-param>
<init-param>
<param-name>config/consultasComunes</param-name>
<param-value>/WEB-INF/struts-config-consultasComunes.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Esta declaración nos define
- un módulo llamado login, que está definido por el fichero /WEB-INF/struts-config-login.xml; la URL necesaria para acceder vía web a este módulo será http://servidor:puerto/nombre_aplicación/login.
- otro módulo llamado consultasComunes, definido por el fichero /WEB-INF/struts-config-consultasComunes.xml; la URL necesaria para acceder vía web a este módulo será http://servidor:puerto/nombre_aplicación/consultasComunes.
- y un último módulo, tomado por defecto y sin nombre declarado en primer lugar y definido por el fichero /WEB-INF/struts-config.xml ;la URL necesaria para acceder vía web a este módulo será la normal, http://servidor:puerto/nombre_aplicación.
Por defecto, Struts antepone el prefijo del módulo a las URL declaradas en cada fichero de configuración de cada módulo. Es decir, si en nuestro módulo de login tenemos una acción llamada "/nuevoUsuario" que apunta a una JSP llamada "nuevoUsuario.jsp", Struts automáticamente buscará en las URLs http://servidor:puerto/nombre_aplicación/login/nuevoUsuario.do y http://servidor:puerto/nombre_aplicación/login/nuevoUsuario.jsp respectivamente.
Ocurre lo mismo para las etiquetas como html:link o html:img, por lo que
- para enlaces entre distintos módulos en la versión 1.1 habrá que utilizar un action especial (SwitchAction); a partir de 1.2 soporta también el nombre del módulo (atributo module).
- habrá que separar las imágenes por módulos.
A pesar de que tiene compatibilidad con Struts 1.0, 1.1, 1.2 y posteriores, por bugs en las etiquetas se recomienda utilizar módulos únicamente en las versiones 1.2 y posteriores.
[tags]J2EE, Struts, modular[/tags]
También te puede interesar:
- Implementación con Struts : Control de acceso a una aplicación web Requisitos Necesitamos implantar un control de acceso de usuarios lo más genérico y simple posible a una aplicación web desplegada sobre Tomcat. Para ello tendremos...
- Implementación con Struts : Cambio de Contraseña Planteamiento Necesitamos implementar en una aplicación web basada en Struts un cambio de contraseña de los usuarios de la aplicación. El usuario al olvidar su...
- [Struts] – no Cache Si queremos que ninguna página de nuestra aplicación basada en Struts almacene los datos introducidos por el usuario en ellas (lo que se entiende por...
- [Struts] – Excepciones manejando objetos en el Formulario Recordando lo que había escrito en otro post anterior, podemos utilizar objetos en los formularios de Struts para simplificar el manejo de los datos en...
- [Struts] – Control de Acceso El problema del control de acceso dentro de una aplicación web es habitual en las aplicaciones web. Es muy habitual comprobar que existe un objeto...































Lycka Bonita » Blog Archive » [Struts] - Múltiples ficheros Message Resources dijo
27 de February del 2008 a las 8:54 am
[...] la aplicación web está dividida en módulos ([Struts] – Aplicaciones modulares), cada módulo utiliza sus propios ficheros de mensajes, con lo cual en dos módulos [...]