Quem o container chama primeiro, um filter ou um servlet com o mesmo url-patern?
Essa dúvida surgiu quando eu fiz debug numa aplicação de exemplo e o filtro nunca era chamado. Segue o trecho do web.xml:
<filter>
<filter-name>SecurityFilter</filter-name>
<description>Filter to ensure user has authenticated himself</description>
<filter-class>jaasauthentication.SecurityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/faces/*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
...
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>