2013-07-25 169 views
1

爲什麼我需要重新啓動App Engine服務器(Jetty)Eclipse裏面當我修改Servlet但不是當我修改Jsp文件?即使Jsp文件被Servlet容器轉換爲Servlet需要重新啓動App Engine服務器時修改Servlet

對於正常的Web應用程序,我在EclipseTomcat中遇到了同樣的問題。

回答

3

因爲servlet容器是將JSP編譯爲servlet的容器​​。因此,它可以輕鬆檢測到JSP已被修改,recompile it on the fly並重新加載新生成的servlet類。

Servlets另一方面是compiled before being deployed,如果不重新部署應用程序,它們不應該被修改。

+0

但'jsp'作爲'class'文件部署到Tomcat。是什麼使它不同於同一個'servlet''類文件?當你說它是將'jsp編譯爲servlet'的servlet容器時,是否意味着'servlet to class'的編譯是由另一個組件完成的? – h4k1m

+1

不,通常情況下,JSP文件按原樣部署,容器將其編譯爲servlet .java和.class文件。 –

+0

這是有道理的。 – h4k1m

相關問題