Example usage for org.springframework.web.util WebUtils ERROR_STATUS_CODE_ATTRIBUTE

List of usage examples for org.springframework.web.util WebUtils ERROR_STATUS_CODE_ATTRIBUTE

Introduction

In this page you can find the example usage for org.springframework.web.util WebUtils ERROR_STATUS_CODE_ATTRIBUTE.

Prototype

String ERROR_STATUS_CODE_ATTRIBUTE

To view the source code for org.springframework.web.util WebUtils ERROR_STATUS_CODE_ATTRIBUTE.

Click Source Link

Document

Standard Servlet 2.3+ spec request attribute for error page status code.

Usage

From source file:org.carewebframework.ui.ExceptionController.java

/**
 * Populate the display with information from the current execution.
 * //  ww  w .  java  2s  . com
 * @see org.zkoss.zk.ui.util.GenericAutowireComposer#doAfterCompose(org.zkoss.zk.ui.Component)
 */
@Override
public void doAfterCompose(final Component comp) throws Exception {
    super.doAfterCompose(comp);
    Clients.clearBusy();
    this.root = ZKUtil.findAncestor(comp, Window.class);
    final HttpServletRequest req = (HttpServletRequest) this.execution.getNativeRequest();

    Class<?> errClass = (Class<?>) req.getAttribute(WebUtils.ERROR_EXCEPTION_TYPE_ATTRIBUTE);
    String errMsg = (String) req.getAttribute(WebUtils.ERROR_MESSAGE_ATTRIBUTE);
    Throwable err = (Throwable) req.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE);

    final String errReqURI = (String) req.getAttribute(WebUtils.ERROR_REQUEST_URI_ATTRIBUTE);
    final String errServletName = (String) req.getAttribute(WebUtils.ERROR_SERVLET_NAME_ATTRIBUTE);
    final Integer errStatusCode = (Integer) req.getAttribute(WebUtils.ERROR_STATUS_CODE_ATTRIBUTE);

    String throwableContext = null;

    if (err != null) {
        if (err instanceof IThrowableContext) {
            throwableContext = ((IThrowableContext) err).getThrowableContext();
        }

        //stack trace info
        if (err instanceof NestedCheckedException) {
            err = ((NestedCheckedException) err).getMostSpecificCause();
        } else if (err instanceof NestedRuntimeException) {
            err = ((NestedRuntimeException) err).getMostSpecificCause();
        }
    }
    if (err != null) {
        errClass = errClass == null ? err.getClass() : errClass;
        errMsg = StringUtils.trimToNull(errMsg) == null ? err.getMessage() : errMsg;
    }

    final StringBuffer buffer = new StringBuffer();
    //generic exception info
    buffer.append("\nException class: ").append(errClass);
    buffer.append("\nMessage: ").append(errMsg);
    if (err instanceof ErrorCoded) {
        final String errorCode = ((ErrorCoded) err).getErrorCode();
        buffer.append("\nErrorCode: ").append(errorCode);
        this.lblCode.setValue(errorCode);
    }
    buffer.append("\nStatusCode: ").append(errStatusCode);
    buffer.append("\nServletName: ").append(errServletName);
    buffer.append("\nReqURI: ").append(errReqURI);

    final SessionInfo sessionInfo = Application.getInstance().getSessionInfo(this.desktop);
    buffer.append(sessionInfo);

    buffer.append("\nThrowableContext: " + throwableContext);
    buffer.append("\nStackTrace: ");
    appendStackTrace(err);

    log.error(buffer, err);
    this.lblExceptionClass.setValue(String.valueOf(errClass));
    this.lblMessage.setValue(errMsg);
    this.lblStatusCode.setValue(String.valueOf(errStatusCode));

    if (SecurityUtil.isGrantedAny(Labels.getLabel("cwf.error.dialog.expanded"))) {
        Events.echoEvent(Events.ON_CLICK, this.btnDetail, null);
    }
}

From source file:com.wiiyaya.consumer.web.main.controller.ExceptionController.java

@RequestMapping(MainURIResource.PATH_ERROR_ALL)
public String error(HttpServletRequest request) throws Throwable {
    Integer code = (Integer) request.getAttribute(WebUtils.ERROR_STATUS_CODE_ATTRIBUTE);
    Throwable exception = (Throwable) request.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE);
    String simpleMsg = (String) request.getAttribute(WebUtils.ERROR_MESSAGE_ATTRIBUTE);

    if (exception != null) {
        throw getRootCause(exception);
    } else {/*from w w w. j  a va  2s.  co m*/
        switch (code) {
        case 404:
            throw new PageNotFoundException();
        case 403:
            throw new AccessDeniedException(simpleMsg);
        default:
            throw new Exception(simpleMsg);
        }
    }
}

From source file:org.bremersee.common.spring.autoconfigure.WebMvcExceptionResolver.java

void applyStatusCodeIfPossible(HttpServletRequest request, HttpServletResponse response, int statusCode) {
    if (!WebUtils.isIncludeRequest(request)) {
        if (log.isDebugEnabled()) {
            log.debug("Applying HTTP status code " + statusCode);
        }/* w  ww  .  ja  v  a 2 s.  c  o m*/
        response.setStatus(statusCode);
        request.setAttribute(WebUtils.ERROR_STATUS_CODE_ATTRIBUTE, statusCode);
    }
}

From source file:org.terasoluna.gfw.web.exception.SystemExceptionResolverTest.java

@Test
public void testDoResolveException_super_return_notnull() throws Exception {

    // do setup./*from w ww  .  ja v  a2  s. c o m*/
    ResultMessages resultMessages = ResultMessages.error().add("code001");
    BusinessException occurException = new BusinessException(resultMessages);

    // setup locale.
    Locale locale = Locale.ITALIAN;
    mockRequest.addPreferredLocale(locale);

    // setup FlashMap.
    FlashMap flashMap = new FlashMap();
    mockRequest.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, flashMap);

    // setup exception resolver.
    // setup default.
    testTarget.setDefaultErrorView("defaultErrorView");
    testTarget.setDefaultStatusCode(444);

    // setup exception code resolver.
    SimpleMappingExceptionCodeResolver exceptionCodeResolver = new SimpleMappingExceptionCodeResolver();
    exceptionCodeResolver.setDefaultExceptionCode("defaultExceptionCode");
    testTarget.setExceptionCodeResolver(exceptionCodeResolver);

    // do test.
    ModelAndView actualModleAndView = testTarget.doResolveException(mockRequest, mockResponse, null,
            occurException);

    // do assert.
    assertThat(mockResponse.getStatus(), is(444));
    assertThat((Integer) mockRequest.getAttribute(WebUtils.ERROR_STATUS_CODE_ATTRIBUTE), is(444));

    assertSame(occurException,
            actualModleAndView.getModel().get(SimpleMappingExceptionResolver.DEFAULT_EXCEPTION_ATTRIBUTE));

    assertThat(mockRequest.getAttribute("exceptionCode").toString(), is("defaultExceptionCode"));
    assertThat(mockResponse.getHeader("X-Exception-Code"), is("defaultExceptionCode"));

    assertSame(resultMessages, flashMap.get(ResultMessages.DEFAULT_MESSAGES_ATTRIBUTE_NAME));

}

From source file:com.ifunshow.antelopeframe.core.web.exception.SimpleMappingExceptionResolver.java

/**
 * Apply the specified HTTP status code to the given response, if possible (that is,
 * if not executing within an include request).
 * @param request current HTTP request/*from  w ww.j  ava2s  .  c om*/
 * @param response current HTTP response
 * @param statusCode the status code to apply
 * @see #determineStatusCode
 * @see #setDefaultStatusCode
 * @see HttpServletResponse#setStatus
 */
protected void applyStatusCodeIfPossible(HttpServletRequest request, HttpServletResponse response,
        int statusCode) {
    if (!WebUtils.isIncludeRequest(request)) {
        if (logger.isDebugEnabled()) {
            logger.debug("Applying HTTP status code " + statusCode);
        }
        response.setStatus(statusCode);
        request.setAttribute(WebUtils.ERROR_STATUS_CODE_ATTRIBUTE, statusCode);
    }
}