|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
org.apache.struts.action Class RequestProcessor
java.lang.Object | +--org.apache.struts.action.RequestProcessor
- Direct Known Subclasses:
- TilesRequestProcessor
- public class RequestProcessor
- extends java.lang.Object
RequestProcessor contains the processing logic that
the ActionServlet
performs as it receives each servlet request
from the container. You can customize the request processing behavior by
subclassing this class and overriding the method(s) whose behavior you are
interested in changing.
- Since:
- Struts 1.1
- Version:
- $Rev: 164530 $ $Date: 2005-04-25 04:11:07 +0100 (Mon, 25 Apr 2005) $
Field Summary | |
protected java.util.HashMap |
actions
The set of Action instances that have been created and
initialized, keyed by the fully qualified Java class name of the
Action class. |
static java.lang.String |
INCLUDE_PATH_INFO
The request attribute under which the path information is stored for processing during a RequestDispatcher.include call. |
static java.lang.String |
INCLUDE_SERVLET_PATH
The request attribute under which the servlet path information is stored for processing during a RequestDispatcher.include call. |
protected static org.apache.commons.logging.Log |
log
Commons Logging instance. |
protected ModuleConfig |
moduleConfig
The ModuleConfiguration with which we are associated. |
protected ActionServlet |
servlet
The servlet with which we are associated. |
Constructor Summary | |
RequestProcessor()
|
Method Summary | |
void |
destroy()
Clean up in preparation for a shutdown of this application. |
protected void |
doForward(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Do a forward to specified URI using a RequestDispatcher . |
protected void |
doInclude(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Do an include of specified URI using a RequestDispatcher . |
protected MessageResources |
getInternal()
Return the MessageResources instance containing our
internal message strings. |
protected javax.servlet.ServletContext |
getServletContext()
Return the ServletContext for the web application in which
we are running. |
void |
init(ActionServlet servlet,
ModuleConfig moduleConfig)
Initialize this request processor instance. |
protected void |
internalModuleRelativeForward(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Do a module relative forward to specified URI using request dispatcher. |
protected void |
internalModuleRelativeInclude(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Do a module relative include to specified URI using request dispatcher. |
protected void |
log(java.lang.String message)
Deprecated. Use commons-logging instead. This will be removed in a release after Struts 1.2. |
protected void |
log(java.lang.String message,
java.lang.Throwable exception)
Deprecated. Use commons-logging instead. This will be removed in a release after Struts 1.2. |
void |
process(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Process an HttpServletRequest and create the
corresponding HttpServletResponse or dispatch
to another resource. |
protected Action |
processActionCreate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
Return an Action instance that will be used to process
the current request, creating a new one if necessary. |
protected ActionForm |
processActionForm(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
Retrieve and return the ActionForm associated with
this mapping, creating and retaining one if necessary. |
protected ActionForward |
processActionPerform(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Action action,
ActionForm form,
ActionMapping mapping)
Ask the specified Action instance to handle this
request. |
protected void |
processCachedMessages(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Removes any ActionMessages object stored in the session
under Globals.MESSAGE_KEY and Globals.ERROR_KEY
if the messages' isAccessed method returns true. |
protected void |
processContent(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Set the default content type (with optional character encoding) for all responses if requested. |
protected ActionForward |
processException(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.Exception exception,
ActionForm form,
ActionMapping mapping)
Ask our exception handler to handle the exception. |
protected boolean |
processForward(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
Process a forward requested by this mapping (if any). |
protected void |
processForwardConfig(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ForwardConfig forward)
Forward or redirect to the specified destination, by the specified mechanism. |
protected boolean |
processInclude(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
Process an include requested by this mapping (if any). |
protected void |
processLocale(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Automatically select a Locale for the current user, if requested. |
protected ActionMapping |
processMapping(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String path)
Select the mapping used to process the selection path for this request. |
protected javax.servlet.http.HttpServletRequest |
processMultipart(javax.servlet.http.HttpServletRequest request)
If this is a multipart request, wrap it with a special wrapper. |
protected void |
processNoCache(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Set the no-cache headers for all responses, if requested. |
protected java.lang.String |
processPath(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Identify and return the path component (from the request URI) that we will use to select an ActionMapping with which to dispatch. |
protected void |
processPopulate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionForm form,
ActionMapping mapping)
Populate the properties of the specified ActionForm instance from
the request parameters included with this request. |
protected boolean |
processPreprocess(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
General-purpose preprocessing hook that can be overridden as required by subclasses. |
protected boolean |
processRoles(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
If this action is protected by security roles, make sure that the current user possesses at least one of them. |
protected boolean |
processValidate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionForm form,
ActionMapping mapping)
If this request was not cancelled, and the request's ActionMapping has not disabled validation, call the
validate method of the specified ActionForm ,
and forward to the input path if there were any errors. |
Methods inherited from class java.lang.Object |
|
Field Detail |
INCLUDE_PATH_INFO
public static final java.lang.String INCLUDE_PATH_INFO
The request attribute under which the path information is stored for processing during a
RequestDispatcher.include
call.
INCLUDE_SERVLET_PATH
public static final java.lang.String INCLUDE_SERVLET_PATH
The request attribute under which the servlet path information is stored for processing during a
RequestDispatcher.include
call.
actions
protected java.util.HashMap actions
The set of
Action
instances that have been created and initialized, keyed by the fully qualified Java class name of theAction
class.
moduleConfig
protected ModuleConfig moduleConfig
The
ModuleConfiguration
with which we are associated.
log
protected static org.apache.commons.logging.Log log
Commons Logging instance.
servlet
protected ActionServlet servlet
The servlet with which we are associated.
Constructor Detail |
RequestProcessor
public RequestProcessor()
Method Detail |
destroy
public void destroy()
Clean up in preparation for a shutdown of this application.
init
public void init(ActionServlet servlet, ModuleConfig moduleConfig) throws javax.servlet.ServletException
Initialize this request processor instance.
- Parameters:
servlet
- The ActionServlet we are associated withmoduleConfig
- The ModuleConfig we are associated with.- Throws:
javax.servlet.ServletException
- If an error occor during initialization
process
public void process(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
Process an
HttpServletRequest
and create the correspondingHttpServletResponse
or dispatch to another resource.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creating- Throws:
java.io.IOException
- if an input/output error occursjavax.servlet.ServletException
- if a processing exception occurs
processActionCreate
protected Action processActionCreate(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMapping mapping) throws java.io.IOException
Return an
Action
instance that will be used to process the current request, creating a new one if necessary.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingmapping
- The mapping we are using- Throws:
java.io.IOException
- if an input/output error occurs
processActionForm
protected ActionForm processActionForm(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMapping mapping)
Retrieve and return the
ActionForm
associated with this mapping, creating and retaining one if necessary. If there is noActionForm
associated with this mapping, returnnull
.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingmapping
- The mapping we are using
processForwardConfig
protected void processForwardConfig(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ForwardConfig forward) throws java.io.IOException, javax.servlet.ServletException
Forward or redirect to the specified destination, by the specified mechanism. This method uses a
ForwardConfig
object instead anActionForward
.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingforward
- The ForwardConfig controlling where we go next- Throws:
java.io.IOException
- if an input/output error occursjavax.servlet.ServletException
- if a servlet exception occurs
processActionPerform
protected ActionForward processActionPerform(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Action action, ActionForm form, ActionMapping mapping) throws java.io.IOException, javax.servlet.ServletException
Ask the specified
Action
instance to handle this request. Return theActionForward
instance (if any) returned by the calledAction
for further processing.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingaction
- The Action instance to be usedform
- The ActionForm instance to pass to this Actionmapping
- The ActionMapping instance to pass to this Action- Throws:
java.io.IOException
- if an input/output error occursjavax.servlet.ServletException
- if a servlet exception occurs
processCachedMessages
protected void processCachedMessages(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Removes any
ActionMessages
object stored in the session underGlobals.MESSAGE_KEY
andGlobals.ERROR_KEY
if the messages'isAccessed
method returns true. This allows messages to be stored in the session, display one time, and be released here.- Parameters:
request
- The servlet request we are processing.response
- The servlet response we are creating.- Since:
- Struts 1.2
processContent
protected void processContent(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Set the default content type (with optional character encoding) for all responses if requested. NOTE - This header will be overridden automatically if a
RequestDispatcher.forward
call is ultimately invoked.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creating
processException
protected ActionForward processException(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Exception exception, ActionForm form, ActionMapping mapping) throws java.io.IOException, javax.servlet.ServletException
Ask our exception handler to handle the exception. Return the
ActionForward
instance (if any) returned by the calledExceptionHandler
.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are processingexception
- The exception being handledform
- The ActionForm we are processingmapping
- The ActionMapping we are using- Throws:
java.io.IOException
- if an input/output error occursjavax.servlet.ServletException
- if a servlet exception occurs
processForward
protected boolean processForward(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMapping mapping) throws java.io.IOException, javax.servlet.ServletException
Process a forward requested by this mapping (if any). Return
true
if standard processing should continue, orfalse
if we have already handled this request.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingmapping
- The ActionMapping we are using
processInclude
protected boolean processInclude(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMapping mapping) throws java.io.IOException, javax.servlet.ServletException
Process an include requested by this mapping (if any). Return
true
if standard processing should continue, orfalse
if we have already handled this request.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingmapping
- The ActionMapping we are using
processLocale
protected void processLocale(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Automatically select a
Locale
for the current user, if requested. NOTE - configuring Locale selection will trigger the creation of a newHttpSession
if necessary.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creating
processMapping
protected ActionMapping processMapping(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String path) throws java.io.IOException
Select the mapping used to process the selection path for this request. If no mapping can be identified, create an error response and return
null
.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingpath
- The portion of the request URI for selecting a mapping- Throws:
java.io.IOException
- if an input/output error occurs
processMultipart
protected javax.servlet.http.HttpServletRequest processMultipart(javax.servlet.http.HttpServletRequest request)
If this is a multipart request, wrap it with a special wrapper. Otherwise, return the request unchanged.
- Parameters:
request
- The HttpServletRequest we are processing
processNoCache
protected void processNoCache(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Set the no-cache headers for all responses, if requested. NOTE - This header will be overridden automatically if a
RequestDispatcher.forward
call is ultimately invoked.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creating
processPath
protected java.lang.String processPath(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException
Identify and return the path component (from the request URI) that we will use to select an
ActionMapping
with which to dispatch. If no such path can be identified, create an error response and returnnull
.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creating- Throws:
java.io.IOException
- if an input/output error occurs
processPopulate
protected void processPopulate(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionForm form, ActionMapping mapping) throws javax.servlet.ServletException
Populate the properties of the specified
ActionForm
instance from the request parameters included with this request. In addition, request attributeGlobals.CANCEL_KEY
will be set if the request was submitted with a button created byCancelTag
.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingform
- The ActionForm instance we are populatingmapping
- The ActionMapping we are using- Throws:
javax.servlet.ServletException
- if thrown by RequestUtils.populate()
processPreprocess
protected boolean processPreprocess(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
General-purpose preprocessing hook that can be overridden as required by subclasses. Return
true
if you want standard processing to continue, orfalse
if the response has already been completed. The default implementation does nothing.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creating
processRoles
protected boolean processRoles(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMapping mapping) throws java.io.IOException, javax.servlet.ServletException
If this action is protected by security roles, make sure that the current user possesses at least one of them. Return
true
to continue normal processing, orfalse
if an appropriate response has been created and processing should terminate.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingmapping
- The mapping we are using- Throws:
java.io.IOException
- if an input/output error occursjavax.servlet.ServletException
- if a servlet exception occurs
processValidate
protected boolean processValidate(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionForm form, ActionMapping mapping) throws java.io.IOException, javax.servlet.ServletException
If this request was not cancelled, and the request's
ActionMapping
has not disabled validation, call thevalidate
method of the specifiedActionForm
, and forward to the input path if there were any errors. Returntrue
if we should continue processing, orfalse
if we have already forwarded control back to the input form.- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingform
- The ActionForm instance we are populatingmapping
- The ActionMapping we are using- Throws:
java.io.IOException
- if an input/output error occursjavax.servlet.ServletException
- if a servlet exception occurs
internalModuleRelativeForward
protected void internalModuleRelativeForward(java.lang.String uri, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
Do a module relative forward to specified URI using request dispatcher. URI is relative to the current module. The real URI is compute by prefixing the module name.
This method is used internally and is not part of the public API. It is advised to not use it in subclasses.
- Parameters:
uri
- Module-relative URI to forward torequest
- Current page requestresponse
- Current page response- Since:
- Struts 1.1
internalModuleRelativeInclude
protected void internalModuleRelativeInclude(java.lang.String uri, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
Do a module relative include to specified URI using request dispatcher. URI is relative to the current module. The real URI is compute by prefixing the module name.
This method is used internally and is not part of the public API. It is advised to not use it in subclasses.
- Parameters:
uri
- Module-relative URI to includerequest
- Current page requestresponse
- Current page response- Since:
- Struts 1.1
doForward
protected void doForward(java.lang.String uri, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
Do a forward to specified URI using a
RequestDispatcher
. This method is used by all internal method needing to do a forward.- Parameters:
uri
- Context-relative URI to forward torequest
- Current page requestresponse
- Current page response- Since:
- Struts 1.1
doInclude
protected void doInclude(java.lang.String uri, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
Do an include of specified URI using a
RequestDispatcher
. This method is used by all internal method needing to do an include.- Parameters:
uri
- Context-relative URI to includerequest
- Current page requestresponse
- Current page response- Since:
- Struts 1.1
getInternal
protected MessageResources getInternal()
Return the
MessageResources
instance containing our internal message strings.
getServletContext
protected javax.servlet.ServletContext getServletContext()
Return the
ServletContext
for the web application in which we are running.
log
protected void log(java.lang.String message)
- Deprecated. Use commons-logging instead. This will be removed in a release
after Struts 1.2.
Log the specified message to the servlet context log for this web application.
- Parameters:
message
- The message to be logged
log
protected void log(java.lang.String message, java.lang.Throwable exception)
- Deprecated. Use commons-logging instead. This will be removed in a release
after Struts 1.2.
Log the specified message and exception to the servlet context log for this web application.
- Parameters:
message
- The message to be loggedexception
- The exception to be logged
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright � 2000-2005 - The Apache Software Foundation