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();
             }
         }
     }
 


嵌套类摘要
 
从类 org.eclipse.jetty.util.component.AbstractLifeCycle 继承的嵌套类/接口
AbstractLifeCycle.AbstractLifeCycleListener
 
从接口 org.eclipse.jetty.util.component.LifeCycle 继承的嵌套类/接口
LifeCycle.Listener
 
字段摘要
protected  ScopedHandler _nextScope
           
protected  ScopedHandler _outerScope
           
 
从类 org.eclipse.jetty.server.handler.HandlerWrapper 继承的字段
_handler
 
从类 org.eclipse.jetty.util.component.AbstractLifeCycle 继承的字段
_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
 
构造方法摘要
ScopedHandler()
           
 
方法摘要
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.server.handler.HandlerWrapper 继承的方法
destroy, doStop, expandChildren, getHandler, getHandlers, getNestedHandlerByClass, setHandler, setServer
 
从类 org.eclipse.jetty.server.handler.AbstractHandlerContainer 继承的方法
dump, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass
 
从类 org.eclipse.jetty.server.handler.AbstractHandler 继承的方法
dumpThis, getServer
 
从类 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
 
从接口 org.eclipse.jetty.util.component.LifeCycle 继承的方法
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
 

字段详细信息

_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.