Filter x Servlet

3 respostas
mcruz

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>

3 Respostas

R

Todos filtros que se aplicam a URL são chamados de qualquer servlet.

Abraços,
Rodrigo

mcruz

Desculpe, Ricardo, mas não entendi??

R

Primeiro os filtros, depois os servlets. No seu caso, primeiro o SecurityFilter, depois o Faces Servlet.

Abraços,
Rodrigo

Criado 9 de outubro de 2006
Ultima resposta 9 de out. de 2006
Respostas 3
Participantes 2