In most desktop web applications I\'ve ever worked on you need a server-side web framework. The server-side web framework (Struts, Spring MVC, etc) has some kind of controller
Take a look to ItsNat, ItsNat invites you to think in client JavaScript but coding in Java and executed in server generating the same JS code to the client.
The difference with GWT is, Java W3C DOM code is executed in server and JS is automatically generated, meanwhile GWT is executed in client, server data must transported to client.