A JSF application is similar to any other Java technology-based web application; it runs in a Java servlet container, and contains
1: JavaBeans components as models containing application-specific functionality and data
2: A custom tag library for representing event handlers and validators
3: A custom tag library for rendering UI components
4: UI components represented as stateful objects on the server
5: Server-side helper classes
6:Validators, event handlers, and navigation handlers
7:Application configuration resource file for configuring application resources