|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.servlet.GenericServlet
javax.servlet.http.HttpServlet
jodd.servlet.ActionServlet
Replacement and enhancement of HttpServlet
, containing additional
functionalities. Must be inherited by user.
ActionServlet
may be used in two ways: 1) as standard http
serlvet, or 2) as an action servlet in mvc2 framework.
ActionServlet
as http servletdoRequest
method, which
is the entering point of the servlet. For more easier work, this servlet
may use one of the helper methods. Helper methods can be grouped in 3
groups:
ActionServlet
implementation. Action methods can help in reducing the number of
ActionServlet
classes, since one class may be used for
handling more than one request.ActionServlet
as framework actionActionController
). Controller is configured from
a XML file. Here, controller always invokes doAction()
method
(instead of doRequest
). This method must return one of the
forwards parameters specified in the XML configuration file, type of
String. Afterm Controller will pass the control to adequate URI, as
specified in the configuration file.
It is obvious that forwarders and redirectors should not be used now. On the other hand, invokers can be freely used. Moreover, they are just a bit more suited for this kind of usage, since whatever is returned from the invoker is converted to String so it may be passed back to the controller.
So, in this case there is no need to overload and use any of the
ActionServlet
methods.
Field Summary | |
static java.lang.String |
parameterActionName
|
static java.lang.String |
parameterForwardName
|
static java.lang.String |
parameterRedirectName
|
Constructor Summary | |
ActionServlet()
|
Method Summary | |
java.lang.String |
doAction(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
When ActionController and MVC2 is used,
doRequest() can not be used as servlet entry point. |
protected void |
doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Default doGet method, calls doRequest(). |
protected void |
doPost(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Default doGet method, calls doRequest(). |
void |
doRequest(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Main Get/Post handler. |
protected boolean |
forward(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String url)
Performs forward with use of the RequestDispatcher. |
protected boolean |
forwardParam(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Performs forward with use of the RequestDispatcher. |
protected boolean |
forwardParam(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String s)
Performs forward where URL is read from the request. |
java.lang.String |
getActionForwardPath(javax.servlet.http.HttpServletRequest request,
java.lang.String name)
Returns path of mapped action forward. |
java.lang.String |
getActionMethodName(javax.servlet.http.HttpServletRequest request)
Returns mapped action method name. |
java.lang.String |
getActionParameter(javax.servlet.http.HttpServletRequest request,
java.lang.String name)
Returns action parameter value. |
java.lang.String |
getActionPath(javax.servlet.http.HttpServletRequest request)
Returns action path of a current request. |
java.lang.String |
getActionType(javax.servlet.http.HttpServletRequest request)
Returns mapped action type. |
ActionController |
getController()
Returns action controller that created this ActionServlet object. |
java.lang.String |
invokeAction(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Calls a method defined in the request paramenter. |
java.lang.String |
invokeAction(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String actionName)
Invoke a method from this ActionServlet class. |
java.lang.String |
invokeExternalAction(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String actionPath)
Invokes external action that is defined in other ActionServlet class and not necessary in current one. |
boolean |
isActionForwardRedirect(javax.servlet.http.HttpServletRequest request,
java.lang.String name)
Returns true if specified forward is actually a redirect. |
protected void |
redirect(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String url)
Performs redirection. |
protected boolean |
redirectParam(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Performs redirection. |
protected boolean |
redirectParam(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String s)
Performs redirection where URL is read from the request. |
Methods inherited from class javax.servlet.http.HttpServlet |
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service |
Methods inherited from class javax.servlet.GenericServlet |
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static java.lang.String parameterActionName
public static java.lang.String parameterForwardName
public static java.lang.String parameterRedirectName
Constructor Detail |
public ActionServlet()
Method Detail |
public ActionController getController()
protected final void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
request
- response
-
java.io.IOException
javax.servlet.ServletException
doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
protected final void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
request
- response
-
java.io.IOException
javax.servlet.ServletException
doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
public void doRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
request
- response
-
java.io.IOException
javax.servlet.ServletException
doAction(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
public java.lang.String doAction(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
ActionController
and MVC2 is used,
doRequest()
can not be used as servlet entry point. Instead,
controller will invoke this method. The only difference from the
doRequest()
is that this method must return a String that
represents a 'mapping' where to forward/redirect, i.e. forwarding and
redirections are done by controler, not by servlet. These mappings are
defined in 'actions.xml' external file.
request
- response
-
java.io.IOException
javax.servlet.ServletException
doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
public java.lang.String invokeAction(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
request
- response
-
java.io.IOException
javax.servlet.ServletException
public java.lang.String invokeAction(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String actionName) throws java.io.IOException, javax.servlet.ServletException
request
- response
- actionName
- name of the method to invoke
java.io.IOException
javax.servlet.ServletException
public java.lang.String invokeExternalAction(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String actionPath) throws java.io.IOException, javax.servlet.ServletException
ActionController.invokeAction()
.
request
- http requestresponse
- http responseactionPath
- action path as defined in configuration xml file
java.io.IOException
javax.servlet.ServletException
ActionController.invokeAction(HttpServletRequest, HttpServletResponse, String)
protected boolean forward(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String url) throws java.io.IOException, javax.servlet.ServletException
request
- response
- url
- URL where to forward
java.io.IOException
javax.servlet.ServletException
protected boolean forwardParam(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
request
- response
-
java.io.IOException
javax.servlet.ServletException
protected boolean forwardParam(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String s) throws java.io.IOException, javax.servlet.ServletException
request
- http requestresponse
- http responses
- forward parameters suffix, added to the default parameter name
true
if parameter found and forward was sucessful,
false
otherwise
java.io.IOException
javax.servlet.ServletException
forward(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
protected void redirect(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String url) throws java.io.IOException
request
- response
- url
- URL where to redirect
java.io.IOException
javax.servlet.ServletException
protected boolean redirectParam(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException
request
- response
-
java.io.IOException
javax.servlet.ServletException
protected boolean redirectParam(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String s) throws java.io.IOException
request
- response
- s
- redirect parameters suffix, added to the default parameter name
java.io.IOException
javax.servlet.ServletException
redirect(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
public java.lang.String getActionParameter(javax.servlet.http.HttpServletRequest request, java.lang.String name)
request
- requestname
- parameter name
null
if parameter has not been defined.ActionData
public java.lang.String getActionForwardPath(javax.servlet.http.HttpServletRequest request, java.lang.String name)
request
- requestname
- forward name
ActionData
public java.lang.String getActionMethodName(javax.servlet.http.HttpServletRequest request)
request
- request
ActionData
public java.lang.String getActionType(javax.servlet.http.HttpServletRequest request)
request
- request
ActionData
public boolean isActionForwardRedirect(javax.servlet.http.HttpServletRequest request, java.lang.String name)
true
if specified forward is actually a redirect.
request
- requestname
- forward name
true
if specified forward is actually a redirect, false
otherwiseActionData
public java.lang.String getActionPath(javax.servlet.http.HttpServletRequest request)
request
- request
ActionData
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |