How the Struts Extensions component works

This section describes how the Struts Extensions component works. If it is the first time a request comes in from a browser, the following happens:
  1. A client browser points to the application URL.
  2. The application presentation layer creates and initializes the BTTActionServlet.
  3. The BTTActionServlet reads the struts configuration file and creates a read-only BTTModuleConfig class.
  4. The BTTActionServlet uses the RequestUtil to creates a BTTRequestProcessor.
  5. The BTTActionServlets delegate the request to the BTTRequestProcessor for processing.
  6. The BTTRequestProcessor populates data from the request to the Struts framework. The data in the HTTP request is now mapped to the context.
  7. If necessary, the BTTRequestProcessor instantiates and initializes the appropriate validation class to validate the data in the context.
  8. The BTTRequestProcessor creates the prosessor CHA context, chains it to the session CHA context, and generates the Processor ID.
  9. The BTTRequestProcessor sets the processor CHA context to the HTTP session with the Processor ID.
  10. If Action Conditions definition is specified with action, Condition Processor will be started and execute each condition defined and feed back correct path as condition executed result.
  11. The framework calls the execute method of the EJB Access Action or WSIF Access Action. The action then calls a business process or a Single Action EJB in the application logic layer to process the request.
  12. According to the response from the application logic layer, the action returns an ActionForward. The ActionForward indicates the next activity to perform.
If it is not the first time a request comes in from a browser, the following happens:
  1. A client browser points to the application URL.
  2. The application presentation layer calls the service method of the BTTActionServlet.
  3. The BTTActionServlet retrieves the appropriate ActionConfig class for the request.
  4. The BTTActionServlet retrieves the appropriate BTTRequestProcessor and delegate the request to the BTTRequestProcessor for handling.
  5. The BTTRequestProcessor populates data from the request to the Struts framework. The data in the HTTP request is now mapped to the context.
  6. If necessary, the BTTRequestProcessor instantiates and initializes the appropriate validation class to validate the data in the context.
  7. If Action Conditions definition is specified with action, Condition Processor will be started and execute each condition defined and feed back correct path as condition executed result.
  8. The framework calls the execute method of the EJB Access Action or WSIF Access Action. The action then calls a business process or an Single Action EJB in the application logic layer to process the request.
  9. According to the response from the application logic layer, the action returns an ActionForward. The ActionForward indicates the next activity to perform.