Model-View-Controller (MVC) Architecture is meant for sorting out the application components into three different categories named Model, View, and Controller. Each component made by the MVC Architecture have a unique set of rules to follow and there exists no relation between the components i.e., the changes in one component will have no impact on the other.
MVC is mainly used for developing user interactive applications. MVC hides the business logic and application data from the structure which is viewed by the user. The main features of MVC architecture are reusability and expressiveness.
Reusable: Consider a situation in which a problem repeats itself, there is no need to invent a new solution each time the problem occurs, we just have to follow a set of  patterns and make necessary adaptations according to the situation.
Expressive: By making use of MVC design pattern we can make our application in such a way that it is more communicative.
Components responsibility:
Model: Model is for fetching data from the database and storing it into the data store. The business logic is implemented through the Model component. Other responsibilities of the Model component include, data which is entered by the user through the View are checked and verified before storing it into the database. Data access, data validation and data saving logic are some of the other components of model component.
View: View represents how the application is to be presented to the user, taking the input from the user, dispatching the request to the controller and also receiving response from the controller and outputting the result to the user. HTML, JSPs and Resources files are part of view.
Controller: Controller is the intermediate component that comes between Model and View. The main job of controller is to receive the requests from clients. Once request is received from the client the controller component will execute the appropriate business logic put forward by the Model and then result is displayed to the user using the View component. ActionServlet, Action Form, struts-config and xml are parts of Controller.
MVC architecture is categorized into two, namely Model1 (MVC1) architecture and Model2 (MVC2) architecture.
MVC1 architecture:
Coding in the presentation is done using HTML and JSP files. For retrieving the data JavaBeans also can be used.
In MVC1, all the view, control elements are implemented using either Servlets or Jsp.
In MVC1 there exists tight coupling between page and model as data access is done using either Custom tag or through java bean call.
MVC2 architecture:
The page centric property of MVC1 is replaced by MVC2 by isolating presentation, control logic and the application state.
In MVC2 there is only one controller which receives all the requests for the application and is responsible for taking the appropriate action in response to each request.
The MVC architecture plays a vital role in an n-tier distributed system in classifying the presentation tier of the system.

Model-View-Controller (MVC) Architecture is meant for sorting out the application components into three different categories named Model, View, and Controller. Each component made by the MVC Architecture have a unique set of rules to follow and there exists no relation between the components i.e., the changes in one component will have no impact on the other.

MVC is mainly used for developing user interactive applications. MVC hides the business logic and application data from the structure which is viewed by the user. The main features of MVC architecture are reusability and expressiveness.

Reusable: Consider a situation in which a problem repeats itself, there is no need to invent a new solution each time the problem occurs, we just have to follow a set of  patterns and make necessary adaptations according to the situation.

Expressive: By making use of MVC design pattern we can make our application in such a way that it is more communicative.

Components responsibility:

Model: Model is for fetching data from the database and storing it into the data store. The business logic is implemented through the Model component. Other responsibilities of the Model component include, data which is entered by the user through the View are checked and verified before storing it into the database. Data access, data validation and data saving logic are some of the other components of model component.

View: View represents how the application is to be presented to the user, taking the input from the user, dispatching the request to the controller and also receiving response from the controller and outputting the result to the user. HTML, JSPs and Resources files are part of view.

Controller: Controller is the intermediate component that comes between Model and View. The main job of controller is to receive the requests from clients. Once request is received from the client the controller component will execute the appropriate business logic put forward by the Model and then result is displayed to the user using the View component. ActionServlet, Action Form, struts-config and xml are parts of Controller.

MVC architecture is categorized into two, namely Model1 (MVC1) architecture and Model2 (MVC2) architecture.

MVC1 architecture:

Coding in the presentation is done using HTML and JSP files. For retrieving the data JavaBeans also can be used.

In MVC1, all the view, control elements are implemented using either Servlets or Jsp.

In MVC1 there exists tight coupling between page and model as data access is done using either Custom tag or through java bean call.

MVC2 architecture:

The page centric property of MVC1 is replaced by MVC2 by isolating presentation, control logic and the application state.

In MVC2 there is only one controller which receives all the requests for the application and is responsible for taking the appropriate action in response to each request.

The MVC architecture plays a vital role in an n-tier distributed system in classifying the presentation tier of the system.