Em uma aplicação que usa Struts é obrigatório escrever um controlador (controller) e as lógicas de negócio nas classes action.
Todas as aplicações Struts terão um arquivo de configuração chamado struts-conf.xml e um arquivo struts.properties.
Fornece um filter dispatcher que não precisa ser escrito pelo desenvolvedor. Para usá-lo basta registrálo no deployment descriptor, por exemplo, quando o servidor utilizado for o Tomcat.
Possui custom tags, conversão de dados e suporte a AJAX, entretanto, não possui suporte para internacionalização.