The MVC (Model View Controller) design pattern is used by the struts for building an applications. It makes the application more maintainable. The main aim of using this design pattern is to separate the business data from the presentation of the users. This design pattern is very flexible and allows the users (developers) to extend their meet for specific project. The MVC architecture contains the three parts they are Model, View, Controller.
Model - This components contains the application data which is represented by the view. Those data which is part of persistent state must reside in model object. When the state of data changes it notify the view. The controller access the model object data for effecting their state change. It represents and maintains the application state.
View - The view represents the state of the model to the user. It is actually represents the application data to the user and also takes the data from the user and send to the controller. There is no any business logic, flow logic inside the view it contains tags. The view renders the model data for presenting to the user. An application can contain many view.
Controller - The controller is responsible for controlling entire application. It accepts the input coming from the view, translates into the action to be performed by the view. The controller is only responsible for accessing model and and rendering it to the various user interfaces. Simply you can say a controller accepts the data from the client, performs the business operation, and return it to the client. The flow of data in the application is controlled by the controller. It it responsible for forwarding the request to the appropriate handelar.