Actually, the default on
Tomcat is that sessions do survive a redeploy and even a shutdown/restart (they're persisted to Tomcat's work directory). Assuming that JBoss isn't overriding that feature.
However, redeployment isn't instantaneous. So there is a noticeable period where the web application is not available while it restarts - you can see this happening in the console log. This outage can be compounded if you trigger the infamous "PermGen Space" problem, which WILL require a total server restart.
Caveat: persisted sessions can be more trouble than they're worth, since any non-persistable objects in the session will be lost. Restoring a session does not call the session object constructors.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.