org.apache.tomcat.facade
Class ServletHandler
java.lang.Object
|
+--org.apache.tomcat.core.Handler
|
+--org.apache.tomcat.facade.ServletHandler
- public final class ServletHandler
- extends Handler
Handler for servlets. It'll implement all servlet-specific
requirements ( init, Unavailable exception, etc).
It is also used for Jsps ( since a Jsp is a servlet ), but
requires the Jsp interceptor to make sure that indeed a Jsp is
a servlet ( and set the class name ).
The old Jsp hack is no longer supported ( i.e. declaring a servlet
with the name jsp, mapping *.jsp -> jsp will work as required
by the servlet spec - no special hook is provided for initialization ).
Note that JspServlet doesn't work without special cases in ServletWrapper.
- Author:
- James Duncan Davidson [duncan@eng.sun.com], Jason Hunter [jch@eng.sun.com], James Todd [gonzo@eng.sun.com], Harish Prabandham, Costin Manolache
Field Summary |
protected Context |
context
|
protected javax.servlet.Servlet |
servlet
|
protected java.lang.Class |
servletClass
|
static int |
STATE_DELAYED_INIT
If init() fails or preInit() detects the handler is still
unavailable. |
static int |
STATE_READY
The handler has been succesfully initialized and is ready to
serve requests. |
Fields inherited from class org.apache.tomcat.core.Handler |
contextM, debug, errorException, logger, module, name, next, prev, state, STATE_ADDED, STATE_DISABLED, STATE_NEW |
Method Summary |
java.lang.String[] |
_getDepends()
The handler may return a set of classes it depends on |
void |
destroy()
Destroy a handler, and notify all the interested interceptors |
protected void |
doDestroy()
|
protected void |
doInit()
|
protected void |
doService(Request req,
Response res)
|
protected void |
doSTMService(javax.servlet.http.HttpServletRequest reqF,
javax.servlet.http.HttpServletResponse resF)
|
Context |
getContext()
Return the context associated with the handler |
javax.servlet.Servlet |
getServlet()
|
java.lang.String |
getServletClassName()
|
ServletInfo |
getServletInfo()
|
protected void |
handleInitError(Request req,
Response res,
java.lang.Throwable t)
|
protected void |
handleServiceError(Request req,
Response res,
java.lang.Throwable t)
|
void |
init()
Call the init method, and notify all interested listeners. |
protected void |
preInit()
|
void |
reload()
Reload notification. |
void |
service(Request req,
Response res)
Call the service method, and notify all listeners |
void |
setContext(Context context)
|
void |
setServletClassName(java.lang.String servletClassName)
|
void |
setServletInfo(ServletInfo sw)
|
void |
setSTMPoolSize(int size)
|
void |
setUseSTMPool(boolean useP)
|
java.lang.String |
toString()
|
Methods inherited from class org.apache.tomcat.core.Handler |
getErrorException, getModule, getName, getNext, getNote, getNote, getPrevious, getState, invoke, log, log, setContextManager, setDebug, setErrorException, setModule, setName, setNext, setNote, setNote, setPrevious, setState |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
STATE_DELAYED_INIT
public static final int STATE_DELAYED_INIT
- If init() fails or preInit() detects the handler is still
unavailable.
STATE_READY
public static final int STATE_READY
- The handler has been succesfully initialized and is ready to
serve requests. If the handler is not in this state a 500 error
should be reported. ( customize - may be 404 )
To ADDED by calling destroy()
To DISABLED if permanent UnavailableException in service()
FROM ADDED by calling init()
Note: Once this state is reached, only UnavailableExceptions are
stored in errorException.
servletClass
protected java.lang.Class servletClass
servlet
protected javax.servlet.Servlet servlet
context
protected Context context
ServletHandler
public ServletHandler()
toString
public java.lang.String toString()
- Overrides:
toString
in class Handler
setServletInfo
public void setServletInfo(ServletInfo sw)
setUseSTMPool
public void setUseSTMPool(boolean useP)
setSTMPoolSize
public void setSTMPoolSize(int size)
getServletInfo
public ServletInfo getServletInfo()
setContext
public void setContext(Context context)
getContext
public Context getContext()
- Return the context associated with the handler
setServletClassName
public void setServletClassName(java.lang.String servletClassName)
getServletClassName
public java.lang.String getServletClassName()
destroy
public final void destroy()
- Destroy a handler, and notify all the interested interceptors
- Overrides:
destroy
in class Handler
init
public final void init()
- Call the init method, and notify all interested listeners.
This is a final method to insure consistent behavior on errors.
It also saves handlers from dealing with synchronization issues.
- Overrides:
init
in class Handler
reload
public void reload()
- Description copied from class:
Handler
- Reload notification. This hook is called whenever the
application ( this handler ) is reloaded
- Overrides:
reload
in class Handler
getServlet
public javax.servlet.Servlet getServlet()
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
doDestroy
protected void doDestroy()
throws TomcatException
preInit
protected void preInit()
throws java.lang.Exception
doInit
protected void doInit()
throws java.lang.Exception
service
public void service(Request req,
Response res)
throws java.lang.Exception
- Description copied from class:
Handler
- Call the service method, and notify all listeners
- Overrides:
service
in class Handler
- Following copied from class:
org.apache.tomcat.core.Handler
- Throws:
java.lang.Exception
- if an error happens during handling of
the request. Common errors are:
- IOException if an input/output error occurs and we are
processing an included servlet (otherwise it is swallowed and
handled by the top level error handler mechanism)
- ServletException if a servlet throws an exception and
we are processing an included servlet (otherwise it is swallowed
and handled by the top level error handler mechanism)
Tomcat should be able to handle and log any other exception ( including
runtime exceptions )
doSTMService
protected void doSTMService(javax.servlet.http.HttpServletRequest reqF,
javax.servlet.http.HttpServletResponse resF)
throws java.lang.Exception
doService
protected void doService(Request req,
Response res)
throws java.lang.Exception
- Overrides:
doService
in class Handler
handleInitError
protected void handleInitError(Request req,
Response res,
java.lang.Throwable t)
handleServiceError
protected void handleServiceError(Request req,
Response res,
java.lang.Throwable t)
throws java.lang.Exception
- Overrides:
handleServiceError
in class Handler
_getDepends
public java.lang.String[] _getDepends()
- The handler may return a set of classes it depends on
Copyright © 2001 Apache Software Foundation. All Rights Reserved.