An Action is an adapter between the contents of an incoming
HTTP request and the corresponding business logic that should be executed to
process this request. The controller (RequestProcessor) will select an
appropriate Action for each request, create an instance (if necessary),
and call the execute method.
Actions must be programmed in a thread-safe manner, because the
controller will share the same instance for multiple simultaneous
requests. This means you should design with the following items in mind:
Instance and static variables MUST NOT be used to store information
related to the state of a particular request. They MAY be used to
share global resources across requests for the same action.
Access to other resources (JavaBeans, session variables, etc.) MUST
be synchronized if those resources require protection. (Generally,
however, resource classes should be designed to provide their own
protection where necessary.
When an Action instance is first created, the controller
will call setServlet with a non-null argument to
identify the servlet instance to which this Action is attached.
When the servlet is to be shut down (or restarted), the
setServlet method will be called with a null
argument, which can be used to clean up any allocated resources in use
by this Action.
An Action is an adapter between the contents of an incoming HTTP request and the corresponding business logic that should be executed to process this request. The controller (RequestProcessor) will select an appropriate Action for each request, create an instance (if necessary), and call the
executemethod.Actions must be programmed in a thread-safe manner, because the controller will share the same instance for multiple simultaneous requests. This means you should design with the following items in mind:
When an
Actioninstance is first created, the controller will callsetServletwith a non-null argument to identify the servlet instance to which this Action is attached. When the servlet is to be shut down (or restarted), thesetServletmethod will be called with anullargument, which can be used to clean up any allocated resources in use by this Action.