La Gestion de l'historique et la possibilité d'avoir des pages 'bookmarkable' est un plus de GWT.
Cela est rendu possible grâce à une chaîne de caractères nomée token, placée après un # dans l'url.
Exemple :
    http://www.google.com/moderator/#15/e=8ea&t=8ea.41&f=8ea.3070

Le token représente un état du client, il n'est jamais envoyé au serveur et son changement ne provoque pas de rafraichissement de la page ni appel au serveur.

Pourquoi c'est important ? 

Les utilisateurs internautes ont acquis des reflexes "web" et s'attendent donc à :
- pouvoir faire précédent et suivant
- créer un favori pour revenir au même endroit (ou dans le même état) ultérieurement

Pourquoi c'est (encore plus) important ? 

Parce que google nous prépare une technique d'indexation des pages dynamiques

Google fait ses essais avec le Showcase de GWT.
http://www.google.fr/search?q=gwt+showcase+radio+button

Vous remarquerez le !Cw

En pratique, cela revient à fournir 2 versions de la page, une en html+Javascript pour l'utilisateur , qui veut que ça aille vite, et une html pour le robot d'indexation, qui veut lire du html.
C'est un énorme enjeu pour Google, qui a proposé un outil qui lui a 'masqué' une partie du Web.
Cette lacune est sur le point d'être comblée.

Que propose GWT ?

Les classes de base sont :
History auquel on peut ajouter un ValueChangeHandler<String> pour être prévenu des changements de token.
Hyperlink qui est le widget de base qui permet de déclencher un changement de token sur un clic.

GWT vous permet de construire votre token comme vous le souhaitez et cela reste assez bas niveau : il se contente de fournir un String java, à vous de le découper.
On remarque cependant que beaucoup adoptent les mêmes syntaxes proches des urls en utilisant les séparateurs / ? et &

Pour plus de détails : 

Frameworks
Il existe donc plusieurs frameworks qui tentent de faciliter la gestion de ce token :

Restful-gwt

http://code.google.com/p/restful-gwt/
Ce projet utilise les annotations JAX-RS afin d'extraire et découper le token.
@GET
@Path("hello/{name}")
public void helloWithIntegerParam(@PathParam("name") Integer myName) {
   
Window.alert("Hello "+(myName+1));
}

Exemple

gwt-mvc

 http://code.google.com/p/gwt-mvc/
Ce projet reprend les conventions JSP.
Le token est ainsi découpé: #ACTION?param1=value1&param2=value2
content.clearAndAdd(pocViewNumeric);
Integer modelAParamValue = Integer.valueOf(getUrlParam("modelA"));
updateModel(modelA, modelAParamValue, event);


Exemple