Check out this documentation on history.
http://code.google.com/webtoolkit/articles/mvp-architecture.html#history
You want to set the 'state' of you application with your URL. You
append to the URL some data such as page to display and state of the
page and then call a method that will read the URL and display the
correct page with the correct state. In this way you can copy and
paste the URL into a different browser and it will show the current
page and state (bookmarked). Also make the method choose a default
page if no URL info has been appended.
http://myapp.com
AppController called
AppController checks the URL has no appended so appends "#home"
AppContoller calls fireCurrentHistoryState
fireCurrentHistoryState sees #home so displays home page
user clicks on setup link (use Hyperlink with "setup" as target
history token)
fireCurrentHistoryState sees #home so displays setup page
If someone bookmarks the setup page the AppController will call
fireCurrentHistoryState on load and display the setup page.