JSF controllers are based on the MVC Controller architecture, with the one exception that unlike true MVC, JSF controllers cannot reflect changes in the Model back to the View asynchronously, since HTTP forbids unsolicited posting to the client. The controller logic is inside the JSF servlet and inside the various JSF tags. If you wanted to, you could create your own ...