Jakarta ee 在Roo中设置未捕获异常处理程序的响应状态
我有一个带有标准mvc设置的Roo应用程序 若我从我的控制器抛出异常,我会在客户端得到很好的堆栈跟踪和状态代码200 我发现它是由Jakarta ee 在Roo中设置未捕获异常处理程序的响应状态,jakarta-ee,spring-mvc,spring-roo,jspx,Jakarta Ee,Spring Mvc,Spring Roo,Jspx,我有一个带有标准mvc设置的Roo应用程序 若我从我的控制器抛出异常,我会在客户端得到很好的堆栈跟踪和状态代码200 我发现它是由web.xml中定义的错误页面处理的,如下所示: <error-page> <exception-type>java.lang.Exception</exception-type> <location>/uncaughtException</location> </error-page&
web.xml
中定义的错误页面处理的,如下所示:
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/uncaughtException</location>
</error-page>
如何将响应代码更改为不同于200的代码
是否可以在
uncaughtException.jspx
中以某种方式设置它?通过在org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
上设置defaultStatusCode
来解决这个问题
例如:
<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>
数据访问失败
未找到资源
未找到资源
未找到资源
500
有关于此错误的提示吗<代码>与元素类型“bean:bean”关联的属性“p:defaultErrorView”的前缀“p”未绑定。
<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>