It is a bit hard to answer your question since I don't know your requirements, but I will try.
If you are planing to use JSF (a good choice if you have a lot of CRUD operations) with a lot of Ajax i think RichFaces is a good choice.
Also if you are using JSF, you should you a framework for it (in my opinion Seam is a bit better solution then Spring when using JSF).
You should also know that some performance issues exist with JSF.
If your project is a bit larger consider using a template framework like facelets for JSF.
I think that Tomcat is a good choice if you don't plan on using EJB's.