Struts, es un framework el cual permite programar una aplicación web en java de manera muy ordenada basándose en el patrón de diseño MVC (Modelo Vista Controlador), al principio es difícil acostumbrarse, pero con el tiempo se ve la ventaja.
Gracias a struts evitamos el desorden de meter en una pagina jsp directamente el código java mediante tags, muy al estilo de php o asp.
Al principio se podría suponer que es una arquitectura, o una metodología, mas cuando se ha programado en .Net, sin embargo struts es un poderoso framework que nos provee una librería de tags la cuales podemos ocupar en nuestra aplicación web.
Algo muy interesante es que podemos separar totalmente la lógica de negocios en la capa modelo, y podemos hacerlo utilizando otros framework como hibarnate, torque entre otros.
Gracias a la capa modelo y a los frameworks mencionados anteriormente podemos utilizar persistencia de datos entre otras ventajas.
En la actualidad la mayoría de entornos en java traen soporte para struts, entre los cuales podemos mencionar, NetBeans, MyEclipse y JDeveloper.
No se como es la situación en los otros países de Latinoamérica, pero en mi país struts es algo muy utilizado en java, aun cuando se utilice spring o inclusive jsf de los cuales espero hablar en un futuro.
Si estas aprendiendo struts, y tiene alguna duda, sugerencia o cualquier cosa relacionada a struts puedes dejar un comentario y será un agrado responder en cualquier duda que se les presente.