I've found the magic that will allow for it thanks to a coworker.
There are three things to do:
- Make sure your webapp is an exploded directory instead of a war (not sure if this is required)
- Set Settings->Debugger->HotSwap->Reload classes after compilation to Always - if it can't do it, I'll have to restart anyway
- Set Settings->Compiler->Deploy web applications to server after compilation to Never
My sticking point was number 3 - it would put the updated file out there, but when it deployed the web application, tomcat got all confused and required a restart - I think probably because everything was updated including the web.xml.