Struts 2 Framework MVC
Se você está iniciando agora no desenvolvimento Web com Java, não deixe de colocar o Struts 2 no seu cinto de ferramentas. O pesadelo do gerenciamento de grandes portais pode ser minimizado e até mesmo evitado com a utilização deste consagrado framework MVC Java. Mas a sua utilização não traz benefícios somente para grandes portais, para projetos com mais de uma dúzia de páginas já deve ser considerado.
MVC, o que é isso?
É um design pattern, ou seja, uma solução conhecida e aceita, para um problema também conhecido e enfrentado de forma constante na Engenharia de software, que reforça a completa separação entre as camadas lógica e de apresentação. É a resposta para o desafio constante de projetar e escrever aplicativos com alto padrão técnico, cujos destaques são as seguintes características relativas ao seu código fonte:
- Manutenibilidade
- Legibilidade
- Modularidade
Pode parecer pouco, mas a qualidade do seu projeto está ligada diretamente a qualidade do código fonte que o compõe, e mais ainda se a sua empresa for fornecedora de software. Um software derivado de código bem escrito evolui mais rápido, possui mais features, mais detalhes e menos bugs, pois pode ser testado mais facilmente. Resumindo, custa menos.
Como o Struts faz isso?
O foco da programação sai dos servlets e da lógica nos arquivos JSP e vai para a separação em camadas, actions e results, orquestrados via arquivo XML (ou XML/annotations no Struts2). Outro conceito muito interessante é o interceptor, que na verdade é o principal artefato do Struts, que permite que determinada classe seja executada antes ou depois da execusão de determinada action, permitindo facilmente o projeto de sistemas de autenticação/autorização,logging, etc...
Posso confiar?
O Apache Struts nasceu em maio de 2000, escrito por Craig R. McClanahan, com oobjetivo de implementação do design MVC para a comunidade Java. É um projeto maduro, que conta com uma legião enorme de utilizadores, o que lhe garante longevidade e altíssima qualidade. A versão atual é a 2.1.x, que substitui a geração 1.x com vantagens, dentre as quais as annotations e a extinção da ActionForm.
