With Tomcat, you can use the Parallel Deployment method. You will be able to deploy your new version and keep older one running with every users that has a session on it.
It is really simple when you are using WAR files, I recommend a simple script to delete older versions after couple of days for exemple, just to keep only few running versions.
You can get more informations here : http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Parallel_deployment