I'm currently using Spring MVC (I haven't found a good relatively lightweight Guice-based Web framework yet)
I'm experimenting with Guice+Jersey+Angular.JS. It's a nice combination (if you want to do JS applications rather than the traditional MVC thing).
I've tried Sitebrickes[1], but the lack of documentation was a problem.
5. Java means using checked exceptions.
I think most people now accept that Java should have defaulted to using unchecked exceptions, and checked exceptions should only be for very rare cases. It's a mistake, but you are right: things like Spring make it a lot better in that regard.
Jersey actually has reasonable support for the traditional MVC thing too, you just return a Viewable from your actions [1]. I think out-of-the-box Jersey only supports JSP templates but it's easy to write custom view processors, I hacked one up for Mustache templates a few months ago [2].
I'm experimenting with Guice+Jersey+Angular.JS. It's a nice combination (if you want to do JS applications rather than the traditional MVC thing).
I've tried Sitebrickes[1], but the lack of documentation was a problem.
5. Java means using checked exceptions.
I think most people now accept that Java should have defaulted to using unchecked exceptions, and checked exceptions should only be for very rare cases. It's a mistake, but you are right: things like Spring make it a lot better in that regard.
[1] https://github.com/dhanji/sitebricks