Apache Wicket is a servlet based web toolkit using the model view control architecture. The beauty is the clear separation of gui design / markup using HTML/CSS and the logic by using pure Java.
Working with detachable models enable easy usage of your database data within the provided widgets. Standard functionality is available to build session based web application. You can as well integrate Ajax functions, there is an integration to JQuery.
Wicket offers a very nice set of widgets and data tables/views.
The yafra example shows a small application which is similar to the RCP fat client set up. It uses Apache Cayenne on the back which integrates well with Wicket.
One careful consideration during design must be the influence of threads and Apache Cayenne. Cayenne context can be easily managed through a Cayenne Filter (which must be the first filter entry in your web.xml).
Yafra Wicket example: http://sourceforge.net/apps/trac/yafra/wiki/Wicketclient