com.sun.grizzly.http.servlet
Class RequestDispatcherImpl

java.lang.Object
  extended by com.sun.grizzly.http.servlet.RequestDispatcherImpl
All Implemented Interfaces:
javax.servlet.RequestDispatcher

public final class RequestDispatcherImpl
extends Object
implements javax.servlet.RequestDispatcher

Standard implementation of RequestDispatcher that allows a request to be forwarded to a different resource to create the ultimate response, or to include the output of another resource in the response from this resource. This implementation allows application level servlets to wrap the request and/or response objects that are passed on to the called resource, as long as the wrapping classes extend javax.servlet.ServletRequestWrapper and javax.servlet.ServletResponseWrapper.

Author:
Craig R. McClanahan, Bongjae Chang

Constructor Summary
RequestDispatcherImpl(ServletAdapter wrapper, String requestURI, String servletPath, String pathInfo, String queryString, String name)
          Construct a new instance of this class, configured according to the specified parameters.
 
Method Summary
 void dispatch(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, com.sun.grizzly.http.servlet.DispatcherConstants.DispatcherType dispatcherType)
          Dispatches the given request and response to the resource for which this dispatcher was acquired.
 void forward(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
          Forwards the given request and response to the resource for which this dispatcher was acquired.
 void include(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
          Include the response from another resource in the current response.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RequestDispatcherImpl

public RequestDispatcherImpl(ServletAdapter wrapper,
                             String requestURI,
                             String servletPath,
                             String pathInfo,
                             String queryString,
                             String name)
Construct a new instance of this class, configured according to the specified parameters. If both servletPath and pathInfo are null, it will be assumed that this RequestDispatcher was acquired by name, rather than by path.

Parameters:
wrapper - The Wrapper associated with the resource that will be forwarded to or included (required)
requestURI - The request URI to this resource (if any)
servletPath - The revised servlet path to this resource (if any)
pathInfo - The revised extra path information to this resource (if any)
queryString - Query string parameters included with this request (if any)
name - Servlet name (if a named dispatcher was created) else null
Method Detail

forward

public void forward(javax.servlet.ServletRequest request,
                    javax.servlet.ServletResponse response)
             throws javax.servlet.ServletException,
                    IOException
Forwards the given request and response to the resource for which this dispatcher was acquired.

Any runtime exceptions, IOException, or ServletException thrown by the target will be propogated to the caller.

Specified by:
forward in interface javax.servlet.RequestDispatcher
Parameters:
request - The request to be forwarded
response - The response to be forwarded
Throws:
IOException - if an input/output error occurs
javax.servlet.ServletException - if a servlet exception occurs

dispatch

public void dispatch(javax.servlet.ServletRequest request,
                     javax.servlet.ServletResponse response,
                     com.sun.grizzly.http.servlet.DispatcherConstants.DispatcherType dispatcherType)
              throws javax.servlet.ServletException,
                     IOException
Dispatches the given request and response to the resource for which this dispatcher was acquired.

Any runtime exceptions, IOException, or ServletException thrown by the target will be propogated to the caller.

Parameters:
request - The request to be forwarded
response - The response to be forwarded
dispatcherType - The type of dispatch to be performed
Throws:
IOException - if an input/output error occurs
javax.servlet.ServletException - if a servlet exception occurs
IllegalArgumentException - if the dispatcher type is different from FORWARD, ERROR, and ASYNC

include

public void include(javax.servlet.ServletRequest request,
                    javax.servlet.ServletResponse response)
             throws javax.servlet.ServletException,
                    IOException
Include the response from another resource in the current response. Any runtime exception, IOException, or ServletException thrown by the called servlet will be propogated to the caller.

Specified by:
include in interface javax.servlet.RequestDispatcher
Parameters:
request - The servlet request that is including this one
response - The servlet response to be appended to
Throws:
IOException - if an input/output error occurs
javax.servlet.ServletException - if a servlet exception occurs


Copyright © 2013 Oracle Corporation. All Rights Reserved.