0

我有一个基于 Roo 的应用程序。

如果我的控制器抛出异常,我的应用程序将向最终用户呈现堆栈跟踪,但响应的状态代码为 200。

如何自定义它,以便任何未捕获的异常都会导致响应代码为 500?

4

1 回答 1

0

在您webmvc-config.xml设置的defaultStatusCode属性中org.springframework.web.servlet.handler.SimpleMappingExceptionResolver

例子:

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver" p:defaultErrorView="uncaughtException">
    <property name="exceptionMappings">
        <props>
            <prop key=".DataAccessException">dataAccessFailure</prop>
            <prop key=".NoSuchRequestHandlingMethodException">resourceNotFound</prop>
            <prop key=".TypeMismatchException">resourceNotFound</prop>
            <prop key=".MissingServletRequestParameterException">resourceNotFound</prop>
        </props>
    </property>
    <property name="defaultStatusCode">
        <value>500</value>
    </property>
</bean>
于 2013-11-29T07:24:48.940 回答