The controller is responsible for mapping user requests to model updates and selecting the appropriate view for the response. The application uses the Struts Model-View-Controller (MVC) framework which employs the ActionServlet as its controller. The ActionServlet provides additional functionality used by the application such as user input validation and internationalisation.