Tomcat和VM

时间:2009-06-18 12:30:38

标签: java tomcat servlets

我真的很难理解tomcat实际运行的位置。它是在JVM中执行的,它执行servlet。或者它在执行servlet或JSP时拥有自己的VM。

提前致谢。

4 个答案:

答案 0 :(得分:13)

Tomcat将在JVM中运行,servlet在Tomcat进程内执行(在同一个JVM中)。

运行catalina.sh(或.bat)将启动一个新的JVM供Tomcat运行。如果您需要将Web服务器作为更大应用程序的一部分,您可以在现有JVM中以编程方式加载/运行Tomcat。

答案 1 :(得分:3)

Java提供JVM来运行任何Java应用程序。

Tomcat本质上是一个Java程序,它实现了Servlet容器规范并充当Servlet容器。

这也意味着您需要(至少)Java JRE来运行Tomcat。

答案 2 :(得分:3)

这是一个令人困惑的主题,因为单独的JVM的“外观”有时会与不同的类加载器实例混淆。

Tomcat和你的应用程序(WAR或servlet)共享相同的JVM,但是它们使用独立的类加载器 - 这就是为什么你可以使用不同版本的log4J进行2次WAR,一切都很好。 Here's an article from O'Reilly about the class loader

答案 3 :(得分:0)

Tomcat和它的servlet都在JVM中运行。