You shouldn't use "sessions" (as in, javax.servlet.http.HttpSession), except possibly as a mean of identifying a logged-in user (rather than roll your own).
Next, if you do use cookies (and you probably will, whether consciously or not, whether willfully or not), then keep in mind that a cookie is shared with the whole browser on the client side. That means that when you open a new tab in the same browser and "launch the application again", you should be automatically signed-in (because the browser sends the cookie for the session you first created in the first tab), not directed to the login screen. If you do want that latter behavior (login per tab, rather than per-browser), then do not use cookies, and do not use "sessions" (javax.servlet.http.HttpSession) on the server side: issue a "token" that the GWT app will send with each request and can be verified on the server side (which probably means it should be stored in some database/datastore, but not necessarily, if you use a signature mechanism instead; server-side storage of the token however means you can revoke it at any time, which can be a great feature [1]), this is your "session", manually managed, cookie-less session.