You're making a very common mistake. A URL is not a filesystem path. It's a path-like expression intended to locate a resource.
In J2EE, a URL pattern is used to identify the application resource that should receive the URL. In the case of JSF, that resource will be the JSF servlet, because we've specified (using the servlet-mapping) that URLs ending with ".jsf" will be routed to the JSF servlet.
The JSF servlet will dissect the URL and make its own decisions on how to fulfill the URL request. That process will include altering the URL to form a WAR resource path. In an "exploded" WAR, that path will be a filename path (the filename of the JSP) relative to the place where the WAR is deployed. In a standard WAR, it will be the relative location within the WAR of the JSP corresponding to that URL.
An IDE is no substitute for an Intelligent Developer.
Moreover, when the JSF servlet dissects the URL as Tim says, it will deduce the name of the view to render. The default mechanism will be to remove the URL suffix, and replace it by its own suffix, which defaults to ".jsp". (This suffix can be overridden via a context parameter).