Ich würde Spring 3.0 empfehlen. Es ist aktuell, leichtgewichtig, einfach konfigurierbar, unterstützt Dependency Injection, annotierte Klassen und ist ein großartiges Framework.
Es unterstützt REST, daher ist es einfach, Klassen zu implementieren, die JSON an Ihre HTML-Seiten zurückgeben. Dies hilft dabei, Ihren Inhalt, das Verhalten und die Präsentation getrennt zu halten, während Sie weiterhin in der Lage sind, eine Rich Internet Application zu erstellen.
Obwohl dies außerhalb des Rahmens Ihrer Frage liegt, würde ich empfehlen, JQuery auf der Benutzeroberfläche zu verwenden, da ich damit wirklich gute Ergebnisse erzielt habe, um JSON zwischen Server und Client hin und her zu übertragen.
Ich würde DWR meiden. Sie haben sich mit Dojo zusammengeschlossen, was meiner Meinung nach eine bessere Wahl als DWR ist. DWR klang gut, war aber in der Praxis fehlerhaft und schwer zu verwenden. Dojo war viel sauberer und modularer. Aber es sei denn, Sie verwenden Comet (auch bekannt als Reverse Ajax), bleib einfach bei Spring und JQuery.
Außerdem wird Spring 3.0 auch auf Google App Engine unterstützt... nur als Hinweis, da Platform as a Service in unserer Zukunft liegt.