Probably because the jsf servlet is not mapped to *.jsf but to *.xhtml. That's what I would do at least. The truth is in the web.xml file. And in a decent book on JSF.