当部署多个 war 不同应用程序时,tomcat 容器如何区分要读取 war 文件中的哪个 web.xml

how does tomcat container differentiate which web.xml of war file to read when multiple war of different application is deployed

我正在看书 Head first servlets and jsp,它说当 tomcat 容器收到来自客户端的任何请求时,它会读取 web.xml(部署描述符)来识别正确的 servlet 来处理给定的请求。

现在假设,当tomcat容器中部署多个war不同的应用程序时,容器如何区分读取war个文件中的web.xml个文件对于给定的请求?

它是查看所有 web.xml 来为给定的 URL 找到正确的 servlet 映射,还是遵循其他机制?

基于 url 根名称,根据您设置 WAR 部署的方式命名。

例如我部署 mywar.war 它将默认映射到 localhost/mywar。 Servlet 的访问方式如下:localhost/mywar/myservlet

您可以在部署时或使用特定于容器的描述符更改映射名称。