Ich kenne Eclipse nicht, aber ich verwende Netbeans. Netbeans macht das ziemlich gut. Die neueste Version hat sogar eine Option zum automatischen Neukompilieren, wenn Sie eine Java-Datei speichern.
Ich weiß, dass dies nicht gerade eine Antwort auf Ihre Frage ist. Sie können wahrscheinlich sowohl Netbeans als auch Eclipse verwenden, je nachdem, an welchem Teil des Projekts Sie gerade arbeiten.
EDIT: Mit Tomcat können Sie die Webanwendung neu laden. Das ist aber nur sinnvoll, wenn Tomcat die neue Klasse anschaut. Wenn Ihr Projekt zuerst in ein Build-Verzeichnis kompiliert wird und daraus eine WAR erstellt wird, können Sie in Tomcat die Webanwendung installieren und statt auf eine WAR auf das Build-Verzeichnis verweisen.
In Tomcat müssen Sie möglicherweise eine Site-Config-Datei unter tomcat/conf/Catalina/localhost anlegen. Der Inhalt dieser Datei sieht wie folgt aus:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="C:/Projects/MyWebApp/build/web" path="/MyWebApp"/>
Anleitung zum Nachladen hier: http://www.cs.ucl.ac.uk/teaching/java/tomcatfaq.html#changeservlet
Wenn Sie dies ein paar Mal tun, geht Tomcat jedoch der Speicher aus. Das liegt an etwas, das PermGenSpace heißt. Lesen Sie mehr darüber, wenn Sie mehr wissen wollen. Die Lösung besteht darin, den JVM-Speicher und die PermGenSize zu erhöhen (mit -XX:MaxPermSize) und schließlich Tomcat gelegentlich neu zu starten.
EDIT2: Wenn das erneute Laden der Anwendung dazu führt, dass Sie ausgeloggt werden, können Sie den Container leicht dazu bringen, Ihre Sitzungsdaten auf der Festplatte zu serialisieren, indem Sie "implements Serializable" zu einigen Ihrer Klassen hinzufügen. Dann sollten Sie sich nach dem Neuladen der Anwendung nicht mehr anmelden müssen.