Currently extensionsFilter.xml suggests the following configuration information:
<filter-mapping> <filter-name>MyFacesExtensionsFilter</filter-name> <url-pattern>*.jsf</url-pattern> </filter-mapping> <filter-mapping> <filter-name>MyFacesExtensionsFilter</filter-name> <url-pattern>/faces/*</url-pattern> </filter-mapping> I'd like to propose that we change it to the following two mappings instead: <filter-mapping> <filter-name>MyFacesExtensionsFilter</filter-name> <servlet-name>Faces Servlet</servlet-name> </filter-mapping> The above mapping will work with any FacesServlet mapping, provided they've named it "Faces Servlet" (I'll add a note pointing out the importance of matching the name in the docs). <filter-mapping> <filter-name>MyFacesExtensionsFilter</filter-name> <url-pattern>/faces/myFacesExtensionResource*</ url-pattern> </filter-mapping> The above mapping will eliminate the confusion that users only need to set the mapping to be whatever they've mapped their Faces Servlet to. The full path is already specified in AddResource, so there's no reason not to put it into the mapping as well. My only question on this one is if the mapping should have a trailing slash or not. I'm guessing it shouldn't, but I'm no mapping expert. /faces/myFacesExtensionResource* or /faces/myFacesExtensionResource/* private static final String RESOURCE_VIRTUAL_PATH = "/faces/myFacesExtensionResource"; Anything I'm overlooking?