Se quer se tornar desenvolvedor web de verdade avalie frameworks action based. Especificação padrão muitas vezes pode não significar nada. JSF por se basear na maioria das vezes em componentes prontos, vai se preocupar mais em aprender a configurar componentes dele do que abrir mais a mente para desenvolvimento com HTML sob total controle do jeito que trabalha todo resto da comunidade de desenvolvedores web PHP, Rails, Asp.Net Mvc, Java sem JSF etc. Senão vai ficar naquela de aplicação web-desktop. Então para Java eu recomendo o framework Spring MVC, mas pode avaliar outros também para tirar suas conclusões.
Além de alguma tecnologia servidor, deverá praticar bem o lado cliente, ou seja, HTML, JavaScript, JQuery e um pouco de CSS (quando fizer algo profissional para os tempos atuais deverá ter um designer para se dedicar a CSS).
Dependendo do tipo de aplicação, framework JS pode ser útil, como o KnockoutJS, consumindo serviços REST por exemplo.
Banco de dados vai depender do tamanho do projeto e cliente que deseja atender. Genericamente falando PostgreSQL na minha opinião é o melhor free, melhor dos pagos Oracle, SQL Server seria o meio termo.
ORM se mantenha com Hibernate mesmo.
O que eu posso indicar para início de estudos seria esta apostila: http://www.caelum.com.br/apostila-java-web/ (online) http://www.caelum.com.br/apostilas/ (Download) Depois procurar algo mais completo para Spring MVC ou o framework que escolher. Depois que tiver bem em web, pode aprender o JSF caso achar interessante pra algum objetivo, como emprego que peça isso.