org.eclipse.jetty.server.handler
类 ScopedHandler
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AggregateLifeCycle
org.eclipse.jetty.server.handler.AbstractHandler
org.eclipse.jetty.server.handler.AbstractHandlerContainer
org.eclipse.jetty.server.handler.HandlerWrapper
org.eclipse.jetty.server.handler.ScopedHandler
- 所有已实现的接口:
- Handler, HandlerContainer, Destroyable, Dumpable, LifeCycle
- 直接已知子类:
- ContextHandler, ServletHandler, SessionHandler
public abstract class ScopedHandler
- extends HandlerWrapper
ScopedHandler.
A ScopedHandler is a HandlerWrapper where the wrapped handlers
each define a scope. When handle(String, Request, HttpServletRequest, HttpServletResponse)
is called on the first ScopedHandler in a chain of HandlerWrappers,
the doScope(String, Request, HttpServletRequest, HttpServletResponse) method is
called on all contained ScopedHandlers, before the
doHandle(String, Request, HttpServletRequest, HttpServletResponse) method
is called on all contained handlers.
For example if Scoped handlers A, B & C were chained together, then
the calling order would be:
A.handle(...)
A.doScope(...)
B.doScope(...)
C.doScope(...)
A.doHandle(...)
B.doHandle(...)
C.doHandle(...)
If non scoped handler X was in the chained A, B, X & C, then
the calling order would be:
A.handle(...)
A.doScope(...)
B.doScope(...)
C.doScope(...)
A.doHandle(...)
B.doHandle(...)
X.handle(...)
C.handle(...)
C.doHandle(...)
A typical usage pattern is:
private static class MyHandler extends ScopedHandler
{
public void doScope(String target, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
try
{
setUpMyScope();
super.doScope(target,request,response);
}
finally
{
tearDownMyScope();
}
}
public void doHandle(String target, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
try
{
doMyHandling();
super.doHandle(target,request,response);
}
finally
{
cleanupMyHandling();
}
}
}
|
方法摘要 |
abstract void |
doHandle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
|
abstract void |
doScope(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
|
protected void |
doStart()
Start the managed lifecycle beans in the order they were added. |
void |
handle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
Handle a request. |
protected boolean |
never()
|
void |
nextHandle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
|
void |
nextScope(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
|
| 从类 org.eclipse.jetty.util.component.AggregateLifeCycle 继承的方法 |
addBean, addBean, contains, dump, dump, dump, dump, dumpObject, dumpStdErr, getBean, getBeans, getBeans, isManaged, manage, removeBean, removeBeans, unmanage |
| 从类 org.eclipse.jetty.util.component.AbstractLifeCycle 继承的方法 |
addLifeCycleListener, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop |
| 从类 java.lang.Object 继承的方法 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_outerScope
protected ScopedHandler _outerScope
_nextScope
protected ScopedHandler _nextScope
ScopedHandler
public ScopedHandler()
doStart
protected void doStart()
throws Exception
- 从类
AggregateLifeCycle 复制的描述
- Start the managed lifecycle beans in the order they were added.
- 覆盖:
- 类
HandlerWrapper 中的 doStart
- 抛出:
Exception- 另请参见:
HandlerWrapper.doStart()
handle
public final void handle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
throws IOException,
ServletException
- 从接口
Handler 复制的描述
- Handle a request.
- 指定者:
- 接口
Handler 中的 handle - 覆盖:
- 类
HandlerWrapper 中的 handle
- 参数:
target - The target of the request - either a URI or a name.baseRequest - The original unwrapped request object.request - The request either as the Request
object or a wrapper of that request. The AbstractHttpConnection.getCurrentConnection()
method can be used access the Request object if required.response - The response as the Response
object or a wrapper of that request. The AbstractHttpConnection.getCurrentConnection()
method can be used access the Response object if required.
- 抛出:
IOException
ServletException
doScope
public abstract void doScope(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
throws IOException,
ServletException
- 抛出:
IOException
ServletException
nextScope
public final void nextScope(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
throws IOException,
ServletException
- 抛出:
IOException
ServletException
doHandle
public abstract void doHandle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
throws IOException,
ServletException
- 抛出:
IOException
ServletException
nextHandle
public final void nextHandle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
throws IOException,
ServletException
- 抛出:
IOException
ServletException
never
protected boolean never()
Copyright © 2013. All Rights Reserved.