JSF is developed based on the Model View Controller(MVC) pattern. The Model VIew Controller separates the business logic from presentation.
The JSF application contains:-
- UI components represented as stateful objects on the server
- Server-side helper classes
- Validators, event handlers, and navigation handlers
- Application configuration resource file for configuring application
resources
- JavaBeans components as models containing application-specific
functionality and data
- A custom tag library for representing event handlers and validators
- A custom tag library for rendering UI components