Como todo framework, Struts consiste en una librer�a de clases y una serie de configuraciones por lo que su instalaci�n es muy similar en todos los servidores de aplicaciones que provean (o puedan agreg�rsele) soporte de:
- Java Development Kit (version 1.2 or posterior)
- Servlet Container (version 2.2 or posterior)
- JavaServer Pages (JSP) (version 1.1 o posterior)
- XML Parser compatible con Java API for XML Parsing (JAXP) specification, 1.1 o posterior
- JDBC 2.0 Optional Package Classes
La instalaci�n consiste en:
- Obtener la distribuci�n binaria desde http://jakarta.apache.org/struts/index.html#Acquiring y descomprimirla
- Copiar lib/commons-*.jar (clases comunes de Jakarta), lib/struts.jar (JAR de las clases Struts) y lib/struts-*.tld (Tag Library Descriptors de los Tags de Struts) en el directorio WEB-INF/lib de la aplicaci�n
- Modificar el WEB-INF/web.xml de la aplicaci�n para incluir un elemento "<servlet>" que define el Servlet del Controller y un "<servlet-mapping>" que establezca las peticiones que �ste atiende. Por ejemplo:
- Modificar el WEB-INF/web.xml de la aplicaci�n para incluir la definici�n de los TagLibraries. Por ejemplo:
- Agregar la definici�n de las TagLibraries en las JSPs que se utilicen. Ejemplo:
- Crear un struts-config.xml donde se configure el Controller seg�n se describi� en las secciones anteriores.
<web-app>
...
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>com.empresa.aplicacion.ApplicationResources</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>validate</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
...
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
...
</web-app>
Nota: com.empresa.aplicacion.ApplicationResources es la localizaci�n del archivo ".properties" del idioma principal de la aplicaci�n
<web-app>
...
<taglib>
<taglib-uri>strutsBean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>strutsHtml</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>strutsLogic </taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<display-name></display-name>
<description></description>
...
</web-app>
<%@ taglib uri="strutsBean" prefix="bean" %> <%@ taglib uri="strutsHtml" prefix="html" %> <%@ taglib uri="strutsLogic" prefix="logic" %>
Si bien est�n comenzando a surgir aplicaciones que gestionan la configuraci�n de Struts en forma visual (Camino, StrutsConsole, etc.) es muy recomendable familiarizarse primero con la configuraci�n manual antes de utilizar estas herramientas