tomcat ErrorPage

来源:互联网 发布:网络恐吓罪 编辑:程序博客网 时间:2024/05/22 17:31
StandardHostValve
private void status(Request request, Response response) {        int statusCode = response.getStatus();        // Handle a custom error page for this status code        Context context = request.getContext();        if (context == null)            return;        /* Only look for error pages when isError() is set.         * isError() is set when response.sendError() is invoked. This         * allows custom error pages without relying on default from         * web.xml.         */        if (!response.isError())            return;        ErrorPage errorPage = context.findErrorPage(statusCode);        if (errorPage == null) {            // Look for a default error page            errorPage = context.findErrorPage(0);        }        if (errorPage != null && response.setErrorReported()) {            response.setAppCommitted(false);            request.setAttribute(RequestDispatcher.ERROR_STATUS_CODE,                              Integer.valueOf(statusCode));            String message = response.getMessage();            if (message == null)                message = "";            request.setAttribute(RequestDispatcher.ERROR_MESSAGE, message);            request.setAttribute(Globals.DISPATCHER_REQUEST_PATH_ATTR,                    errorPage.getLocation());            request.setAttribute(Globals.DISPATCHER_TYPE_ATTR,                    DispatcherType.ERROR);            Wrapper wrapper = request.getWrapper();            if (wrapper != null)                request.setAttribute(RequestDispatcher.ERROR_SERVLET_NAME,                                  wrapper.getName());            request.setAttribute(RequestDispatcher.ERROR_REQUEST_URI,                                 request.getRequestURI());            if (custom(request, response, errorPage)) {                try {                    response.finishResponse();                } catch (ClientAbortException e) {                    // Ignore                } catch (IOException e) {                    container.getLogger().warn("Exception Processing " + errorPage, e);                }            }        }    }

原创粉丝点击