GWT Framework, Spring framework, Play Framework, Seam framework were used to create a MVC style framework for Java.
I've been searching online for the past 3 days to find if a framework should be used for Java EE 6 but I'm having a hard time finding the right answer.
This article here says that frameworks are not needed in Java EE 6 anymore:
I will start with a big NO. You do not need any framework to create a web application.
Now, when we see the current state of enterprise web applications. There are widely accepted standards/patterns. These standards will help you in creating a modular infrastructure.
Before deciding on the framework. Before looking into what to use or what to avoid, just ask few questions to yourself.
A framework will provide you an infrastructure to design over. If I talk about the
Spring Framework, it will provide MVC infrastructure. Along with this, it will also support you in other aspects of your application. For example, it will manage your container and all the application's modules through its own IOC container. When you need some aspect implementation, it will give you AOP layer to implement your aspect. This framework will be ready to give you out of the box transaction management when your needs grow. It will also provide a good abstracted database layer. There are many more.
So, define your needs. Find the solution. Once your needs are defined, you can explore the ability/<> of the frameworks.
Yes, JSF is a framework. It is used to create UI design. This is a java based framework and provides AJAX like solution for web applications.