The major components of
Struts 2 do not exactly map to the MVC
pattern.
This article has a typical MVC overlay of Struts. As far as Struts is concerned, the controller is the dispatcher and interceptors. For a non-trivial Struts application, I would maintain there will be a fair amount of controller logic in the Action and the Model is usually pushed into a JavaBean. The Action then uses the DAO to obtain the appropriate Model instance for what the View has requested..