2013-07-25 7 views
1

Зачем мне нужно перезагрузить App Engine Сервер (Jetty) внутри Eclipse, когда я изменяю Servlet, но не тогда, когда я изменяю файл Jsp? даже если файл Jsp преобразуется в контейнер Servlet контейнером Servlet.Необходимо перезапустить сервер App Engine при изменении сервлета

У меня такая же проблема с Tomcat внутри Eclipse, для обычного веб-приложения.

ответ

3

Потому что контейнер сервлета является тем, который компилирует JSP в сервлеты. Таким образом, можно легко обнаружить, когда был изменен JSP, recompile it on the fly и перезагрузить новый сгенерированный класс сервлета.

Servlets, с другой стороны, являются compiled before being deployed, и они не должны изменяться без повторного развертывания приложения.

+0

Но 'jsp' развертывается в Tomcat как файл' class'. Что отличает его от того же самого файла 'servlet'' class? Когда вы говорите, что это контейнер сервлетов, который компилирует 'jsp в servlet', означает ли это, что компиляция' servlet to class' выполняется другим компонентом? – h4k1m

+1

Нет, как правило, JSP-файл развертывается как есть, и контейнер компилирует его в файл .java сервлетов, затем .class. –

+0

Это имеет смысл. – h4k1m

Смежные вопросы