Ознакомьтесь с SpringSource Tool Suite. Я начал использовать его пару месяцев назад.
Поставляется с предварительно сконфигурированным сервером SpringSource tc (версия для разработки). Обычно, когда я работаю над веб-приложением, я просто перетаскиваю его из Project Explorer на сервер SpringSource tc и продолжаю разработку. Код, включающий изменения класса Java и изменения JSP, перезагружается на лету. Таким образом, любые сделанные вами изменения можно просмотреть практически мгновенно.
Другая вещь, которую я делаю, - это Jetty, похожий на тот, что упоминал Ювал, однако моя конфигурация находится в pom.xml в Maven 2 и выглядит примерно так:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<contextPath>/tas</contextPath>
<tmpDir>/tmp</tmpDir>
<jettyEnvXml>${basedir}/jetty-env.xml</jettyEnvXml>
<systemProperties>
<systemProperty>
<key> org.mortbay.jetty.webapp.parentLoaderPriority </key>
<value>true</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
Однако я предпочитаю выполнять ручную перезагрузку с помощью молы, поэтому обычно добавляю
<reload>manual</reload>
в элемент <configuration>
. Ручная перезагрузка относится только к изменениям, которые я делаю в файлах Java. Таким образом, после ряда существенных изменений и успешного прохождения тестовых примеров, я нажимаю enter в консоли Jetty, и все это перезагружается. (Мне слишком нравится сочетание клавиш Ctrl-S и, следовательно, оно появляется после каждой второй строки, но я не хочу, чтобы Jetty перезагружалась после каждой второй строки кода, который я пишу).
Также имейте в виду, что ручная перезагрузка применяется только к изменениям класса Java и требуется только при изменении класса Java или, возможно, конфигурации XML. Если все, что вы изменили, - это JSP, то вам не нужно перезагружать изменение, которое было получено автоматически, и вы можете нажать обновить в браузере, чтобы увидеть изменение JSP без перезагрузки вручную.
Надеюсь, это поможет!