Существует так много элегантных веб-фреймворков на выбор ...
A JSF - это решение, предлагаемое стандартом Java EE - если вы выберете JSF, у вас будетчтобы быть более многословным в коде, но вам понадобится помощь таких инструментов, как Visual JSF конструктор в NetBeans.Использование JSF2 - гораздо лучшая идея, IMO.
Я лично рекомендую вам взглянуть на Wicket - это отличный веб-фреймворк Java, сосредоточенный вокруг таких идей, каккак элегантность, простота и удобство использования.
Есть еще много замечательных фреймворков, но это только начало.