faces servlet etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
faces servlet etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
/faces/SayfaAdi.xhtml mi yoksa /SayfaAdi.faces mi?

/faces/SayfaAdi.xhtml mi yoksa /SayfaAdi.faces mi?

Eclipse te bir faces sayfasını çalıştırırken bazı projelerde link /faces/SayfaAdi.xhtml bazıların da ise /SayfaAdi.faces gelmesi uzunca bir süre can sıkıcı hale geldi. Sebebinin web.xml deki Faces Servlet e ait olan servlet mapping sıralamasından kaynaklanıyormuş.

    <servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>
*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>
/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>

Yukarıda örnek te sayfa çalıştırıldığıda /SayfaAdi.faces oluyor. Dolayısıyla servlet-mapping teki ilk sırada olan mapping default olarak kabul ediliyor.