When it comes to JSF, I've had trouble distinguishing where certain objects I create fit into the overall MVC pattern. The View is simple enough since that's handled by the .xhtml template but when it comes to objects like:
- Action/Change Listeners
- PhaseListeners
- Validators
- Navigation Beans
- Converters
- Filters
At first I'd assume some of these belong to the Controller but I've seen a number of statements here and elsewhere on the web stating that for most developers using an MVC framework, specifically JSF, the majority/entirety of the Controller is already implemented by the framework.
The following Q&A: https://stackoverflow.com/questions/10111387/understanding-jsf-as-a-mvc-framework , while very informative still leaves me feeling pretty vague on the matter. The accepted answer states that consumers of JSF do not implement Controllers while the thesis linked to at the bottom of the answer clearly states that Listeners are a part of the Controller pattern.