El marco web Apache Struts es una solución gratuita de código abierto para crear aplicaciones web Java.
Se puede encontrar más información en la página de inicio. Lea la Guía de seguridad y los Javadocs se pueden navegar. Las preguntas relacionadas con el uso de los puntales Apache deben publicarse en la lista de correo del usuario.
Las aplicaciones web difieren de los sitios web convencionales en que las aplicaciones web pueden crear una respuesta dinámica. Muchos sitios web entregan solo páginas estáticas. Una aplicación web puede interactuar con bases de datos y motores de lógica comercial para personalizar una respuesta.
Aplicaciones web basadas en las páginas de Javaserver a veces se mezclan el código de la base de datos, el código de diseño de la página y el código de flujo de control. En la práctica, encontramos que a menos que estas preocupaciones estén separadas, las aplicaciones más grandes se vuelven difíciles de mantener.
Una forma de separar las preocupaciones en una aplicación de software es utilizar una arquitectura de controlador de visión modelo (MVC). El modelo representa el código comercial o de la base de datos, la vista representa el código de diseño de la página y el controlador representa el código de navegación. El marco Struts está diseñado para ayudar a los desarrolladores a crear aplicaciones web que utilizan una arquitectura MVC.
El marco proporciona tres componentes clave:
La arquitectura y las etiquetas del marco cumplen con las palabras de moda. Struts funciona bien con aplicaciones de descanso convencionales y con tecnologías como SOAP y AJAX.
El Proyecto Apache Struts es la comunidad de código abierto que crea y mantiene el marco Apache Struts. El proyecto consta de un grupo diverso de voluntarios que comparten valores comunes con respecto al desarrollo de código abierto colaborativo basado en la comunidad. El Proyecto Apache Struts se enorgullece de compartir estos valores con nuestra organización matriz: la Fundación Apache Software.
El proyecto se llama "Struts" porque el marco está destinado a proporcionar las "bases invisibles" que admiten el desarrollo de aplicaciones profesionales. Struts proporciona el pegamento que une los diversos elementos de la plataforma Java estándar en un todo coherente. Nuestro objetivo es aprovechar los estándares existentes produciendo las piezas faltantes que necesitamos para crear aplicaciones de grado empresarial que sean fáciles de mantener con el tiempo.
El proyecto Apache Struts ofreció dos versiones principales del marco de Struts. Actualmente solo mantenemos la versión Struts 2. Se recomienda actualizar todas las aplicaciones Struts 1.x a Struts 2. No inicie el desarrollo de nuevos aplicaciones con Struts 1.x, ya que ya no estamos emitiendo parches de seguridad.
Struts 2 se conoció originalmente como Webwork 2. Después de trabajar de forma independiente durante varios años, las comunidades webwork y Struts unieron fuerzas para crear Struts 2. El marco 2.x es la mejor opción para los equipos que valoran soluciones elegantes a problemas difíciles.
Apache Struts es un marco web moderno, mantenido y con todas las funciones. Como ha existido durante años y ha crecido una gran base de usuarios, es poco probable que desaparezca pronto. No solo eso, tenemos usuarios y desarrolladores dedicados en el proyecto. Apache Struts tiene licencia bajo la licencia de Apache 2.0 y esto no cambiará. Mantenemos una IP limpia y usted está "seguro" para usar el proyecto. A veces no está "seguro para usar un proyecto cuando una empresa controla el SCM. El acceso al código fuente no significa que sea gratuito. Con Apache Struts, no solo eres libre de "hacer lo que quieras con él", incluso puedes contribuir (que no siempre es el caso). Y lo mejor de todo: también puedes convertirte en parte del equipo central.
Por lo general, es muy fácil integrar otras tecnologías con los puntales Apache. Si está utilizando un ORM como Apache Cayenne, Hibernate o JDBC, no tendrá restricciones. Apache Struts ni siquiera está atado demasiado a una tecnología frontend. En los viejos tiempos era JSP, luego llegó la velocidad y el freemarker. Hoy en día puede crear su aplicación web con solo HTML estático y AngularJS. O es posible que desee usar Sitemesh o mosaicos. Todo esto no es un problema debido a los mecanismos de extensión elegantes y fáciles de usar de Struts.
A diferencia de otros marcos orientados a los componentes, no tenemos como objetivo ocultar la naturaleza sin estado de la web. Creemos que es perfectamente aceptable construir sobre un ciclo de solicitud/respuesta. También pensamos que el patrón MVC no es tan malo, solo porque es viejo. De hecho, creemos que la arquitectura Apache Struts es limpia y fácil de entender.
Por supuesto, si desea construir componentes en el lado del servidor que se presente en la parte delantera, lo más probable es que no desee puntales. Este es un enfoque diferente que promete reducir la cantidad de conocimiento HTML/JavaScript necesario y crear componentes reutilizables para la capa de vista. Proyectos como Wicket y Tapestry sirven muy bien a este propósito. Al igual que con cada marco, debe decidir si tiene sentido que cree componentes o si prefiere el enfoque de Struts.
La comunidad Apache Struts no ofrece apoyo comercial por sí mismo.
Algunos mantenedores de Struts de Apache están trabajando con TidElift para proporcionar apoyo comercial e invertir el tiempo de trabajo pagado en la mejora del marco de los Struts Apache. Para obtener más información, visite los recursos de TidElift con respecto a Apache Struts