【问题标题】:Tomcat and VMTomcat 和虚拟机
【发布时间】:2009-06-18 12:30:38
【问题描述】:

我真的很困惑 tomcat 实际运行的位置。它是否在执行 servlet 的 JVM 内部执行。或者它有自己的虚拟机来执行 servlet 或 JSP。

提前致谢。

【问题讨论】:

    标签: java tomcat servlets


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 2011-06-11
            • 2014-05-28
            • 1970-01-01
            • 2014-09-08
            • 1970-01-01
            • 1970-01-01
            • 2012-06-21
            • 2023-03-04
            • 2012-08-13
            相关资源
            最近更新 更多