On the UI side there's a lot of support for JSF components, which is good for someone like me who wants to write the backend and have the UI just work. The Seam code generator makes pretty instant CRUD applications that go a lot further than any of the Rails auto-scaffolding apps.
And, if you think Java's too verbose and inelegant - there's no reason not to write much of the application in Scala or Clojure.
And besides, it's by Gavin King. Gavin King made Hibernate. I know of no ORM in any other language that approaches its feature set - though SQLAlchemy in Python is moving in that direction, and acknowledges Hibernate as inspiration. Hibernate used to be a maintenance nightmare because of the XML; the new annotation based version keeps the power but is a lot more DRY.
The Java community really did a remarkable job of killing off the XML bloat in the current Java EE stack - and only within the last year or so.
[if anyone out there is as enthusiastic about Seam as I am, I have budget for several freelancer projects using it, some of which are actually not boring, and may evolve into startups - contact me on here]
+1
I've also played with the Stripes framework a bit and it seems like a nice option but I haven't done anything extensive with it yet.
Hibernate is my default choice for the persistence layer. It can be a little tricky if you're tying into an existing legacy data model with a bad design.
Guice: Dependency injection goodness. http://code.google.com/p/google-guice/
Google Collections Library: Makes java.util less painful and awkward to use. http://code.google.com/p/google-collections/
And don't forget to use IntelliJ IDEA. Bitchin IDE. http://www.jetbrains.com/idea/
and YourKit for profiling: http://www.yourkit.com/
Using the above will make you a happy camper. Good luck!
None of them... Write your own. This is what I did for Mibbit, and it worked out very well. Of course it depends on what you're writing, and if any frameworks out there are up to the job, so maybe this advice is unhelpful for you.
You might however be surprised just how easy it is to create your own custom framework.
The irc client is just a plugin to the server though. Very much a general purpose system...
As I say though I'm just not a 'framework' type of person - apart from when its my own ;)
Maybe you could run Rails inside a JRuby instance and deliver that... :-)
IMHO a great Java Web App "Framework"...
(Disclaimer: never tried it)