0

我正在使用 Vaadin 框架在 Java 中开发一个 Web 应用程序。

我在 Apache Tomcat 上运行该应用程序。我想问的是,如果我在 Apache Tomcat 上运行该应用程序并在两台不同的计算机上使用两个不同的浏览器访问同一个应用程序,那么该应用程序在 Tomcat 上有两个实例还是只有一个实例?我已经搜索过了,但未能找到满意的答案。

谢谢 !

4

2 回答 2

3

如果您在 Tomcat 中运行 Web 应用程序,您将拥有一个 Tomcat 实例,它将托管您的应用程序。这个单一的 Tomcat 实例(以及您的 Web 应用程序)将能够从许多不同的计算机发出许多不同的浏览器请求。这正是 Web 服务器的设计目的:处理来自许多不同客户端的请求。

于 2012-06-25T20:07:08.610 回答
1

一个 Tomcat 实例,以及多个 Vaadin 应用程序实例。

要访问您的 Vaadin 应用程序,用户将其 Web 浏览器指向您的 Vaadin 应用程序的 URL。Tomcat 必须已经在运行才能接受来自 Web 浏览器的请求。当已运行的 Tomcat 实例收到该请求时,Tomcat 会启动一个新线程。在该线程中,将创建并运行 Vaadin“应用程序”类的子类的新实例。

因此,如果您有 5 个同时运行您的 Vaadin 应用程序的用户,您将运行一个 Tomcat 实例。并且该 Tomcat 实例将运行 5 个会话,每个会话在其自己的线程中运行自己的 Vaadin“应用程序”子类实例。

应用中标记为“静态”的任何内容都适用于应用的所有 5 个实例,而未标记为“静态”的任何内容仅适用于应用的单个实例(单个用户)。

于 2012-06-27T07:22:25.037 回答