Servlet Mapping usando web.xml

Tengo una confusión con respecto a la estructura de web.xml para el mapeo de servlets, no tengo ningún problema al ejecutarlo, pero estoy tratando de entender cómo es que tenemos ese patrón en el descriptor de implementación.

<web-app>
    <servlet>
         <servlet-name>Servlet1</servlet-name>
         <servlet-path>foo.Servlet</servlet-path>
    </servlet>
    <servlet-mapping>
         <servlet-name>Servlet1</servlet-name>
         <url-pattern>/enroll</url-pattern>
    </servlet-mapping>
</web-app>

Ahora, por lo que tengo entendido, cada vez que se recibe una solicitud para el patrón de url "/ enrollar", el contenedor de servlet coincidirá con el nombre del servlet con el patrón de url e intentará encontrar la ruta de servlet correspondiente y reenviará el control a foo.Servlet. básicamente, habría dos pases, uno para encontrar el nombre del servlet y otro para la ruta del servlet, mi pregunta es si el contenedor está diseñado para funcionar de la siguiente manera

<web-app>
        <servlet>
             <servlet-name>foo.Servlet</servlet-path>
             <url-pattern>/enroll</url-pattern>
        </servlet>
</web-app>

cuál sería el inconveniente si utilizamos el siguiente enfoque. ¿No sería eso más eficiente y el tiempo de respuesta sería rápido?

Respuestas a la pregunta(1)

Su respuesta a la pregunta