Tomcat has the ability to run what's known as an "exploded WAR". A WAR file is just a ZIP file in a specific format, so if you unzip it, you get a directory subtree.
In Tomcat 5, Tomcat always explodes a copy of the WAR into its webapps directory. In Tomcat5, that was optional. In either version, it was also OK to provide your own exploded WAR and set up a web application context using it.
By instructing the IDE to build into an exploded WAR format, you can get Tomcat to dynamically update webapps. I do this all the time, since it saves the time needed to build the WAR itself. Then, when I'm production-ready, I run the WAR task on the exploded WAR to create a deployable
unit.
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.