ServletContext是每个Web应用程序一个还是每个JVM一个?
以下是我提出的问题ServletContext是每个Web应用程序一个,每个JVM一个。 但是,如果我在同一个JVM上运行多个Web应用程序。 然后每个JVM有2个ServletContext。 可能吗? 任何人都可以详细说明这个吗?
每个webapp都有自己的ServletContext。 api文档的方式是:
每个Java虚拟机每个“Web应用程序”有一个上下文。 (“Web应用程序”是安装在服务器URL命名空间的特定子集下的servlet和内容的集合,例如/ catalog,可能通过.war文件安装。)
“每个Web应用程序”部分意味着如果您在群集中设置应用程序,则群集中的每个节点都有一个单独的JVM,并且该JVM将运行所有应用程序的单独副本,包括每个Web应用程序的ServletContext。
每个Web应用程序一个,每个JVM一个可以用下表解释。
一台服务器上的多个Web应用程序(一个JVM):
Web App A - Server/JVM 1 - Context 1 Web App B - Server/JVM 1 - Context 2 Web App C - Server/JVM 1 - Context 3
多个服务器上的相同Web应用程序(多个JVM):
Web App A - Server/JVM 1 - Context 1 Web App B - Server/JVM 1 - Context 2 Web App C - Server/JVM 1 - Context 3 Web App C - Server/JVM 2 - Context 4
ServletContext :
每个Java虚拟机每个“Web应用程序”有一个上下文。
这意味着每个Web应用程序在每个VM上只有一个ServletContext
。 (多VM情况是指您有分布式应用程序时)