Вы действительно путаете понятия "отладка" и горячее развертывание. Вы можете настроить Tomcat для режима отладки, а затем удаленно отлаживать приложение, работающее внутри tomcat, чтобы при добавлении точки прерывания в код отладчик переходил к этой точке прерывания и останавливал выполнение.
Что вам действительно нужно, так это возможность горячего развертывания приложения. С tomcat, если вы измените файлы .java, а затем скопируете их в рабочий каталог tomcat, вы получите именно то, что вам нужно, а именно возможность что-то изменить в классе и заставить запущенное приложение, развернутое на tomcat, перенести его в аккаунт без повторного развертывания всего приложения. Это можно автоматизировать, настроив контекст приложения tomcat (либо в файле tomcat server.xml, либо в файле context.xml для конкретного проекта), чтобы приложение в качестве рабочего каталога имело каталог, в который компилируется код вашего проекта.
вот фактический пример:
Допустим, у вас есть проект maven в каталоге c: \ myProject. У вас будут исходные файлы в c: \ myProject \ src, а затем при компиляции вы получите файл war и разнесенный каталог содержимого файла war в c: \ myProject \ target \ myProject.war и соответственно C: \ MyProject \ цель \ MyProject. Теперь, если вы настроите свой tomcat таким образом, чтобы для контекста myProject tomcat у вас был рабочий каталог, настроенный как c: \ myProject \ target \ myProject, то каждый раз, когда вы изменяете файл .java, соответствующий файл .class будет обновляться в целевой (и теперь также работающий) dir, и tomcat примет это во внимание.
Я действительно использовал такую настройку для разработки с tomcat, но она не самая лучшая. Прежде всего tomcat будет горячо развертывать только определенные модификации, например, когда вы изменяете что-либо в теле существующего метода. Другие изменения не будут приняты во внимание, например, добавление нового метода - для этого вам необходимо выполнить полное повторное развертывание, чтобы учесть его.
Гораздо лучшим решением является использование maven с плагином maven jetty. Это действительно работает так, как вы хотите: любые изменения, которые вы вносите в класс jsp-файла, будут немедленно приняты во внимание и будут видны в работающем приложении внутри Jetty.