Dae pessoal, seguinte testei tanto o struts, jsf, spring e o mentawai, mas trabalho atualmente mais com php e c# (aspx), mas curto novos desafios cheguei a desenvolver e participar em projetos com jsp (struts, não foi escolha minha :D).
Em questão de simplicidade, mentawai ganha disparado ao meu entender, mas a pergunta é o seguinte, qual a vantagem da configuração ser em XML ou em código java, por que as actions tem que ser configuradas no final das contas , é um problema de arquitetura do jsp?
Po!!! na real eu acho um saco ficar configurando actions e outras coisas, só o que realmente precisa, sou a favor de tecnologias como php e asp.net neste quesito, ex: cria um arquivo aspx cria um link para ele e já funciona… claro são idéias diferente…mas antes de falar mal concordam que é um saco, não vejo vantagem nenhuma, estou falando em questão de facilidade de desenvolvimento não confundem, a questão é simplicidade.
Configuração programática é mais natural, mais poderosa, mais flexível, possui javadoc, o eclipse ajuda com auto-complete/auto-compile, pode criar seus próprios estilos de configuração, usar script (groovy/jruby/beanshell), etc.
Se você criar uma página JSP e fizer um link pra ela vai ter o mesmo comportamento que ASP/PHP. O ponto é que fazer isso não é bom, por isso criou-se toda a parafernalha que acaba precisando de configuração.
Nem todo framework precisa de XML, se você quiser usar JSF sem configurar xml é possível, faça uma busca no forum que você encontrará tudo sobre.
Afinal, xml no final das contas vira configuração no código java, então independente do framework, você consegue fazer ele virar xml-less, apenas estude a configuração para entender como ele le o xml e aonde ele adiciona as coisas
Por isso eu acho que framework que não precisa de XML não tem nenhuma vantagem em cima dos outros, isso é apenas “marketing”.
uma solução para isto seriam frameworks auto configuraveis …
o problema é que hoje é impossivel criar um framework auto configuravel para java …
pelo menos para web …
para que isto fosse possivel, seria necessário que houvesse uma API que permitisse apenas colocando um jar no classpath, adicionar servlets, filters e mappings para ambos em uma aplicação web …
hoje só é possivel adicionar listeners (é só registrar eles em um TLD que são carregados automagicamente) …
se isto fosse possivel, seria possivel também criar um framework que no momento em que você colocasse as libs no WEB-INF/lib se configurasse automagicamente e o programador não precisaria configurar nada (claro que um framework destes precisaria possibilitar configurações, mas possibilitar não é obrigar a configurar algo)
pelo menos é a minha opinião
e acho que isto seria perfeito se fosse possivel …