Servlet访问静态资源的路径匹配问题

当一个请求发送到服务器时,服务器会将请求的路径和servlet的路径进行匹配,来选择servlet处理。
tomcat也有默认的Servlet(“/”),去访问一些静态资源:

 <servlet-mapping>
        <servlet-name>defaultservlet-name>
        <url-pattern>/url-pattern>
    servlet-mapping>

既如果请求路径是"HOST+ContextPath+/",就是我直接打开tomecat,输入"localhost:8080/项目名/",没有其他后缀;那么服务器会调用这个默认的servlet,通过这个servlet访问webapp目录下的静态页面。
我不理解的是:如果webapp目录下有一页面:"index.html",我在浏览器输入"localhost:8080/项目名/index.html"访问它;
是可以成功访问的,那么此时服务器是如何调用的呢?没有路径是index.html的servlet呀?

该回答引用chatgpt:
当浏览器请求"localhost:8080/项目名/index.html"时,Tomcat服务器会按照以下顺序尝试查找要处理该请求的Servlet:

首先,Tomcat会查找是否有与请求的路径精确匹配的Servlet。在这种情况下,如果有一个Servlet的URL模式与请求路径完全匹配,则Tomcat将使用该Servlet来处理请求。但是,通常情况下,Servlet通常不会配置为处理静态资源,如HTML文件。
如果没有Servlet与请求路径完全匹配,则Tomcat会尝试查找具有匹配URL模式的Servlet。例如,在你的web.xml文件中,如果有一个Servlet映射到"/hello"路径,则Tomcat将查找具有"/hello/*"模式的Servlet。如果找到匹配的Servlet,则使用该Servlet来处理请求。
如果没有Servlet的URL模式与请求路径匹配,则Tomcat会将请求发送到默认Servlet。默认Servlet会查找webapp目录下的静态资源,例如HTML文件,然后将它们返回给浏览器。
在这种情况下,Tomcat将使用默认Servlet处理请求。默认Servlet可以处理所有没有与其他Servlet匹配的请求,并将其映射到webapp目录下的静态资源。在这种情况下,Tomcat将在webapp目录下查找"index.html"文件,并将其返回给浏览器作为响应。