I have some bad news about this. Look at this javadoc from ServletContext.getResource()
The path must begin with a / and is interpreted as relative to the current context root, or relative to the /META-INF/resources directory of a JAR file inside the web application's /WEB-INF/lib directory. This method will first search the document root of the web application for the requested resource, before searching any of the JAR files inside /WEB-INF/lib. The order in which the JAR files inside /WEB-INF/lib are searched is undefined.
If we're going to allow this sort of thing at all, I think it would be confusing for it to just be available in JSF. In other words, this is a broader problem than just JSF. On the other hand, the Servlet spec doesn't have a concept of a "resources" directory within the web application root, so the javax.faces.WebAppResourcesDirectory portion of this feature request is still relevant to handle in JSF.
AT> Is there any chance that the defaults could be set to save paths
AT> (non-world readable) and that people could use those context-params
AT> to restore the old behavior if they need that?
AT> I do realize that this would initially hurt backwards compatibility
AT> as everyone would either have to move their resources or learn about
AT> this setting, so it's probably not an easy decision.
I'm sorry, but I can't support that kind of change.
Result: Let's just stick with the javax.faces.WebAppResourcesDirectory