Model: contains the business logic and interact with the persistance storage to store, retrive and manipulate data.
View: is responsible for dispalying the results back to the user. In Struts the view layer is implemented using JSP.
Controller: handles all the request from the user and selects the appropriate view to return. In Sruts the controller’s job is done by the ActionServlet.
The following events happen when the Client browser issues an HTTP request.
- The ActionServlet receives the request.
- The struts-config.xml file contains the details regarding the Actions, ActionForms,ActionMappings and ActionForwards.
- During the startup the ActionServelet reads the struts-config.xml file and creates a database of configuration objects. Later while processing the request the ActionServletmakes decision by refering to this object.
The ActionServlet receives the request it does the following tasks.
- Bundles all the request values into a JavaBean class which extends Struts ActionFormclass.
- Decides which action class to invoke to process the request.
- Validate the data entered by the user.
- The action class process the request with the help of the model Component. The model interacts with the database and process the request.
- After completing the request processing the Action class returns an ActionForward to the controller.
- Based on the ActionForward the controller will invoke the appropriate view.
- The HTTP response is rendered back to the user by the view component.