This image shows the sequence of events that occurs when you query for information about an employee.
The application sends the request to the Controller servlet.
The Controller invokes the getInstance and createActionHandler methods on the ActionHandlerFactory, and the performAction method on the QueryEmployee.
If the employee ID is invalid, QueryEmployee forwards the request to a JSP error page, which returns an error response to the client.
If the employee ID is valid, QueryEmployee forwards the request to the queryEmployee JSP.
The queryEmployee JSP calls getEmployeeManager on the SessionHelper bean and getEmployeeDetails on the EmployeeManager bean.
The EmployeeManager then calls getEmployee, which in turn calls findByPrimaryKey on the Employee entity bean.
The Employee entity bean calls new, findByPrimaryKey, and load on EmployeeDAOImpl.
EmployeeDAOImpl calls new and setBenefits on MutableEmployeeModel, and calls new on BenefitItem.
EmployeeManager now calls getDetails on Employee, which returns an EmployeeModel.
When all of the information is gathered, the application passes it back to the queryEmployee JSP, which returns the information to the client.