2013-07-25 127 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

相关问题