There is something impossible to do these days: choose a Java web framework. Is more a taste question than a technology question. And that's annoying. It makes the competence (read .NET) more easy to adopt. Which one of them must we follow for changes? In my opinion:
- Shale JavaServer Faces based.
- Wicket Web modelling... in java.
- Stripes Classic MVC, but with almost zero configuration.
- Seam EJB 3.0 based and a little too much JBOSS based.
Update: With the new Seam 1.1 it's possible to use POJOs outside an EJB 5.0 server. Even with Tomcat.