The web container (Tomcat, JBoss, WebSphere or whatever) digests the web.xml file when the web application is launched and sets up URL decoding and routing rules. In this particular case you have a specification that all requests with URLs ending in ".faces" are to be passed to the service method of the FacesServlet.
At that point, the FacesServlet takes over and any further URL decoding is done by it. And yes, conventionally, the URL will be dissected, and the ".faces" at the end will be replaced with a ".jsp" and the FacesServlet will use the resource with the decoded name as the View for its MVC environment.
It's been a while, but I seem to recall that you can customize how that works, but most people don't need to - even me, and I do fairly evil things routinely. So I must refer you to the FacesServlet javadocs for details.
Customer surveys are for companies who didn't pay proper attention to begin with.
Joined: Nov 29, 2004
Thanks a lot Tim.
subject: Servlet mapping to FacesServlet question.