JSF это просто фреймворк для построения пользовательского интерфейса. Он не включает в себя контейнер с бинами, работу с БД и т.п. JSF основан на JSP. Spring Framework это фреймворк для разработки веб приложений, в нем как раз есть все что нужно. В Spring MVC(часть Spring framework) пользовательский интерфейс строится с помощью JSP, поэтому изучите сначала его. В принципе все что можно сделать в JSF можно сделать и в JSP, только возни побольше.