当前位置: 首页>>代码示例>>Java>>正文


Java Response.getResponse方法代码示例

本文整理汇总了Java中org.apache.catalina.Response.getResponse方法的典型用法代码示例。如果您正苦于以下问题:Java Response.getResponse方法的具体用法?Java Response.getResponse怎么用?Java Response.getResponse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.catalina.Response的用法示例。


在下文中一共展示了Response.getResponse方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: postInvoke

import org.apache.catalina.Response; //导入方法依赖的package包/类
@Override
public void postInvoke(Request request, Response response)
        throws IOException, ServletException {
    final HttpServletRequest httpRequest = (HttpServletRequest) request.getRequest();
    try {
        CatalinaAdapter adapter = new CatalinaAdapter(request, response);
        IAccessEvent accessEvent = new AccessEvent(httpRequest, (HttpServletResponse) response.getResponse(),
            adapter);

        if (ctx.getFilterChainDecision(accessEvent) == FilterReply.DENY) {
            return;
        }

        // TODO better tion handling
        ctx.callAppenders(accessEvent);
    } finally {
        httpRequest.removeAttribute(AccessConstants.LOGBACK_STATUS_MANAGER_KEY);
    }
}
 
开发者ID:goodees,项目名称:goodees,代码行数:20,代码来源:CatalinaValve.java

示例2: custom

import org.apache.catalina.Response; //导入方法依赖的package包/类
/**
 * Handle an HTTP status code or Java exception by forwarding control
 * to the location included in the specified errorPage object.  It is
 * assumed that the caller has already recorded any request attributes
 * that are to be forwarded to this page.  Return <code>true</code> if
 * we successfully utilized the specified error page location, or
 * <code>false</code> if the default error report should be rendered.
 *
 * @param request The request being processed
 * @param response The response being generated
 * @param errorPage The errorPage directive we are obeying
 */
protected boolean custom(Request request, Response response,
                         ErrorPage errorPage) {

    if (debug >= 1)
        log("Processing " + errorPage);

    // Validate our current environment
    if (!(request instanceof HttpRequest)) {
        if (debug >= 1)
            log(" Not processing an HTTP request --> default handling");
        return (false);     // NOTE - Nothing we can do generically
    }
    HttpServletRequest hreq =
        (HttpServletRequest) request.getRequest();
    if (!(response instanceof HttpResponse)) {
        if (debug >= 1)
            log("Not processing an HTTP response --> default handling");
        return (false);     // NOTE - Nothing we can do generically
    }
    HttpServletResponse hres =
        (HttpServletResponse) response.getResponse();

    try {

        // Reset the response if possible (else IllegalStateException)
        hres.reset();

        // Forward control to the specified location
        ServletContext servletContext =
            request.getContext().getServletContext();
        RequestDispatcher rd =
            servletContext.getRequestDispatcher(errorPage.getLocation());
        rd.forward(hreq, hres);

        // If we forward, the response is suspended again
        response.setSuspended(false);

        // Indicate that we have successfully processed this custom page
        return (true);

    } catch (Throwable t) {

        // Report our failure to process this custom page
        log("Exception Processing " + errorPage, t);
        return (false);

    }

}
 
开发者ID:c-rainstorm,项目名称:jerrydog,代码行数:62,代码来源:ErrorDispatcherValve.java

示例3: invoke

import org.apache.catalina.Response; //导入方法依赖的package包/类
/**
 * Select the appropriate child Host to process this request,
 * based on the requested server name.  If no matching Host can
 * be found, return an appropriate HTTP error.
 *
 * @param request Request to be processed
 * @param response Response to be produced
 * @param valveContext Valve context used to forward to the next Valve
 *
 * @exception IOException if an input/output error occurred
 * @exception ServletException if a servlet error occurred
 */
public void invoke(Request request, Response response,
                   ValveContext valveContext)
    throws IOException, ServletException {
    // Validate the request and response object types
    if (!(request.getRequest() instanceof HttpServletRequest) ||
        !(response.getResponse() instanceof HttpServletResponse)) {
        return;     // NOTE - Not much else we can do generically
    }

    // Validate that any HTTP/1.1 request included a host header
    HttpServletRequest hrequest = (HttpServletRequest) request;
    if ("HTTP/1.1".equals(hrequest.getProtocol()) &&
        (hrequest.getServerName() == null)) {
        ((HttpServletResponse) response.getResponse()).sendError
            (HttpServletResponse.SC_BAD_REQUEST,
             sm.getString("standardEngine.noHostHeader",
                          request.getRequest().getServerName()));
        return;
    }

    // Select the Host to be used for this Request
    StandardEngine engine = (StandardEngine) getContainer();
    Host host = (Host) engine.map(request, true);
    if (host == null) {
        ((HttpServletResponse) response.getResponse()).sendError
            (HttpServletResponse.SC_BAD_REQUEST,
             sm.getString("standardEngine.noHost",
                          request.getRequest().getServerName()));
        return;
    }

    // Ask this Host to process this request
    host.invoke(request, response);

}
 
开发者ID:c-rainstorm,项目名称:jerrydog,代码行数:48,代码来源:StandardEngineValve.java

示例4: invoke

import org.apache.catalina.Response; //导入方法依赖的package包/类
public void invoke(Request request, Response response, ValveContext valveContext)
  throws IOException, ServletException {

  SimpleWrapper wrapper = (SimpleWrapper) getContainer();
  ServletRequest sreq = request.getRequest();
  ServletResponse sres = response.getResponse();
  Servlet servlet = null;
  HttpServletRequest hreq = null;
  if (sreq instanceof HttpServletRequest)
    hreq = (HttpServletRequest) sreq;
  HttpServletResponse hres = null;
  if (sres instanceof HttpServletResponse)
    hres = (HttpServletResponse) sres;

  //-- new addition -----------------------------------
  Context context = (Context) wrapper.getParent();
  request.setContext(context);
  //-------------------------------------
  // Allocate a servlet instance to process this request
  try {
    servlet = wrapper.allocate();
    if (hres!=null && hreq!=null) {
      servlet.service(hreq, hres);
    }
    else {
      servlet.service(sreq, sres);
    }
  }
  catch (ServletException e) {
  }
}
 
开发者ID:eclipsky,项目名称:HowTomcatWorks,代码行数:32,代码来源:SimpleWrapperValve.java

示例5: invoke

import org.apache.catalina.Response; //导入方法依赖的package包/类
public void invoke(Request request, Response response, ValveContext valveContext)
  throws IOException, ServletException {
  // Validate the request and response object types
  if (!(request.getRequest() instanceof HttpServletRequest) ||
    !(response.getResponse() instanceof HttpServletResponse)) {
    return;     // NOTE - Not much else we can do generically
  }

  // Disallow any direct access to resources under WEB-INF or META-INF
  HttpServletRequest hreq = (HttpServletRequest) request.getRequest();
  String contextPath = hreq.getContextPath();
  String requestURI = ((HttpRequest) request).getDecodedRequestURI();
  String relativeURI =
    requestURI.substring(contextPath.length()).toUpperCase();

  Context context = (Context) getContainer();
  // Select the Wrapper to be used for this Request
  Wrapper wrapper = null;
  try {
    wrapper = (Wrapper) context.map(request, true);
  }
  catch (IllegalArgumentException e) {
    badRequest(requestURI, (HttpServletResponse) response.getResponse());
    return;
  }
  if (wrapper == null) {
    notFound(requestURI, (HttpServletResponse) response.getResponse());
    return;
  }
  // Ask this Wrapper to process this Request
  response.setContext(context);
  wrapper.invoke(request, response);
}
 
开发者ID:eclipsky,项目名称:HowTomcatWorks,代码行数:34,代码来源:SimpleContextValve.java

示例6: invoke

import org.apache.catalina.Response; //导入方法依赖的package包/类
public void invoke(Request request, Response response, ValveContext valveContext)
  throws IOException, ServletException {

  SimpleWrapper wrapper = (SimpleWrapper) getContainer();
  ServletRequest sreq = request.getRequest();
  ServletResponse sres = response.getResponse();
  Servlet servlet = null;
  HttpServletRequest hreq = null;
  if (sreq instanceof HttpServletRequest)
    hreq = (HttpServletRequest) sreq;
  HttpServletResponse hres = null;
  if (sres instanceof HttpServletResponse)
    hres = (HttpServletResponse) sres;

  // Allocate a servlet instance to process this request
  try {
    servlet = wrapper.allocate();
    if (hres!=null && hreq!=null) {
      servlet.service(hreq, hres);
    }
    else {
      servlet.service(sreq, sres);
    }
  }
  catch (ServletException e) {
  }
}
 
开发者ID:eclipsky,项目名称:HowTomcatWorks,代码行数:28,代码来源:SimpleWrapperValve.java

示例7: invoke

import org.apache.catalina.Response; //导入方法依赖的package包/类
/**
 * Perform single-sign-on support processing for this request.
 *
 * @param request The servlet request we are processing
 * @param response The servlet response we are creating
 * @param context The valve context used to invoke the next valve
 *  in the current processing pipeline
 *
 * @exception IOException if an input/output error occurs
 * @exception ServletException if a servlet error occurs
 */
public void invoke(Request request, Response response,
                   ValveContext context)
    throws IOException, ServletException {

    // If this is not an HTTP request and response, just pass them on
    if (!(request instanceof HttpRequest) ||
        !(response instanceof HttpResponse)) {
        context.invokeNext(request, response);
        return;
    }
    HttpServletRequest hreq =
        (HttpServletRequest) request.getRequest();
    HttpServletResponse hres =
        (HttpServletResponse) response.getResponse();
    request.removeNote(Constants.REQ_SSOID_NOTE);

    // Has a valid user already been authenticated?
    if (debug >= 1)
        log("Process request for '" + hreq.getRequestURI() + "'");
    if (hreq.getUserPrincipal() != null) {
        if (debug >= 1)
            log(" Principal '" + hreq.getUserPrincipal().getName() +
                "' has already been authenticated");
        context.invokeNext(request, response);
        return;
    }

    // Check for the single sign on cookie
    if (debug >= 1)
        log(" Checking for SSO cookie");
    Cookie cookie = null;
    Cookie cookies[] = hreq.getCookies();
    if (cookies == null)
        cookies = new Cookie[0];
    for (int i = 0; i < cookies.length; i++) {
        if (Constants.SINGLE_SIGN_ON_COOKIE.equals(cookies[i].getName())) {
            cookie = cookies[i];
            break;
        }
    }
    if (cookie == null) {
        if (debug >= 1)
            log(" SSO cookie is not present");
        context.invokeNext(request, response);
        return;
    }

    // Look up the cached Principal associated with this cookie value
    if (debug >= 1)
        log(" Checking for cached principal for " + cookie.getValue());
    SingleSignOnEntry entry = lookup(cookie.getValue());
    if (entry != null) {
        if (debug >= 1)
            log(" Found cached principal '" +
                entry.principal.getName() + "' with auth type '" +
                entry.authType + "'");
        request.setNote(Constants.REQ_SSOID_NOTE, cookie.getValue());
        ((HttpRequest) request).setAuthType(entry.authType);
        ((HttpRequest) request).setUserPrincipal(entry.principal);
    } else {
        if (debug >= 1)
            log(" No cached principal found, erasing SSO cookie");
        cookie.setMaxAge(0);
        hres.addCookie(cookie);
    }

    // Invoke the next Valve in our pipeline
    context.invokeNext(request, response);

}
 
开发者ID:c-rainstorm,项目名称:jerrydog,代码行数:82,代码来源:SingleSignOn.java

示例8: status

import org.apache.catalina.Response; //导入方法依赖的package包/类
/**
 * Handle the HTTP status code (and corresponding message) generated
 * while processing the specified Request to produce the specified
 * Response.  Any exceptions that occur during generation of the error
 * report are logged and swallowed.
 *
 * @param request The request being processed
 * @param response The response being generated
 */
protected void status(Request request, Response response) {

    // Do nothing on non-HTTP responses
    if (!(response instanceof HttpResponse))
        return;
    HttpResponse hresponse = (HttpResponse) response;
    if (!(response.getResponse() instanceof HttpServletResponse))
        return;
    int statusCode = hresponse.getStatus();
    String message = RequestUtil.filter(hresponse.getMessage());
    if (message == null)
        message = "";

    // Handle a custom error page for this status code
    Context context = request.getContext();
    if (context == null)
        return;

    ErrorPage errorPage = context.findErrorPage(statusCode);
    if (errorPage != null) {
        response.setAppCommitted(false);
        ServletRequest sreq = request.getRequest();
        ServletResponse sresp = response.getResponse();
        sreq.setAttribute(Globals.STATUS_CODE_ATTR,
                          new Integer(statusCode));
        sreq.setAttribute(Globals.ERROR_MESSAGE_ATTR,
                          message);
        Wrapper wrapper = request.getWrapper();
        if (wrapper != null)
            sreq.setAttribute(Globals.SERVLET_NAME_ATTR,
                              wrapper.getName());
        if (sreq instanceof HttpServletRequest)
            sreq.setAttribute(Globals.EXCEPTION_PAGE_ATTR,
                              ((HttpServletRequest) sreq).getRequestURI());
        if (custom(request, response, errorPage)) {
            try {
                sresp.flushBuffer();
            } catch (IOException e) {
                log("Exception Processing " + errorPage, e);
            }
        }
    }

}
 
开发者ID:c-rainstorm,项目名称:jerrydog,代码行数:54,代码来源:ErrorDispatcherValve.java

示例9: invoke

import org.apache.catalina.Response; //导入方法依赖的package包/类
/**
 * Select the appropriate child Context to process this request,
 * based on the specified request URI.  If no matching Context can
 * be found, return an appropriate HTTP error.
 *
 * @param request Request to be processed
 * @param response Response to be produced
 * @param valveContext Valve context used to forward to the next Valve
 *
 * @exception IOException if an input/output error occurred
 * @exception ServletException if a servlet error occurred
 */
public void invoke(Request request, Response response,
                   ValveContext valveContext)
    throws IOException, ServletException {

    // Validate the request and response object types
    if (!(request.getRequest() instanceof HttpServletRequest) ||
        !(response.getResponse() instanceof HttpServletResponse)) {
        return;     // NOTE - Not much else we can do generically
    }

    // Select the Context to be used for this Request
    StandardHost host = (StandardHost) getContainer();
    Context context = (Context) host.map(request, true);
    if (context == null) {
        ((HttpServletResponse) response.getResponse()).sendError
            (HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
             sm.getString("standardHost.noContext"));
        return;
    }

    // Bind the context CL to the current thread
    Thread.currentThread().setContextClassLoader
        (context.getLoader().getClassLoader());

    // Update the session last access time for our session (if any)
    HttpServletRequest hreq = (HttpServletRequest) request.getRequest();
    String sessionId = hreq.getRequestedSessionId();
    if (sessionId != null) {
        Manager manager = context.getManager();
        if (manager != null) {
            Session session = manager.findSession(sessionId);
            if ((session != null) && session.isValid())
                session.access();
        }
    }

    // Ask this Context to process this request
    context.invoke(request, response);

}
 
开发者ID:c-rainstorm,项目名称:jerrydog,代码行数:53,代码来源:StandardHostValve.java

示例10: invoke

import org.apache.catalina.Response; //导入方法依赖的package包/类
/**
 * Select the appropriate child Wrapper to process this request,
 * based on the specified request URI.  If no matching Wrapper can
 * be found, return an appropriate HTTP error.
 *
 * @param request Request to be processed
 * @param response Response to be produced
 * @param valveContext Valve context used to forward to the next Valve
 *
 * @exception IOException if an input/output error occurred
 * @exception ServletException if a servlet error occurred
 */
public void invoke(Request request, Response response,
                   ValveContext valveContext)
    throws IOException, ServletException {

    // Validate the request and response object types
    if (!(request.getRequest() instanceof HttpServletRequest) ||
        !(response.getResponse() instanceof HttpServletResponse)) {
        return;     // NOTE - Not much else we can do generically
    }

    // Disallow any direct access to resources under WEB-INF or META-INF
    HttpServletRequest hreq = (HttpServletRequest) request.getRequest();
    String contextPath = hreq.getContextPath();
    String requestURI = ((HttpRequest) request).getDecodedRequestURI();
    String relativeURI =
        requestURI.substring(contextPath.length()).toUpperCase();
    if (relativeURI.equals("/META-INF") ||
        relativeURI.equals("/WEB-INF") ||
        relativeURI.startsWith("/META-INF/") ||
        relativeURI.startsWith("/WEB-INF/")) {
        notFound(requestURI, (HttpServletResponse) response.getResponse());
        return;
    }

    Context context = (Context) getContainer();

    // Select the Wrapper to be used for this Request
    Wrapper wrapper = null;
    try {
        wrapper = (Wrapper) context.map(request, true);
    } catch (IllegalArgumentException e) {
        badRequest(requestURI, 
                   (HttpServletResponse) response.getResponse());
        return;
    }
    if (wrapper == null) {
        notFound(requestURI, (HttpServletResponse) response.getResponse());
        return;
    }

    // Ask this Wrapper to process this Request
    response.setContext(context);

    wrapper.invoke(request, response);

}
 
开发者ID:eclipsky,项目名称:HowTomcatWorks,代码行数:59,代码来源:StandardContextValve.java


注:本文中的org.apache.catalina.Response.getResponse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。