gpt4 book ai didi

spring - 带有 Spring 框架的自定义动态错误页面

转载 作者:行者123 更新时间:2023-12-03 07:41:02 27 4
gpt4 key购买 nike

我希望我的应用程序在抛出异常时显示自定义错误页面。包含页面的响应应该具有正确的 HTTP 状态,并包含异常消息和来自异常对象的其他可能数据。

我已经尝试了 2 种方法,但它们都不起作用:

1) 从 AbstractHandlerExceptionResolver 返回一个 ModelAndView子类 - 我可以生成我想要的任何错误页面,但它会以 200 OK HTTP 状态提供服务。

2) 在 web.xml 中指定错误页面 - 我找不到访问异常的方法。

好的,解决了。事实证明实际上很容易。我用过 HttpServletResponse.setStatus .请注意,使用 sendError不能正常工作。

最佳答案

您可以配置 SimpleMappingExceptionResolver

<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultStatusCode" value="500" />
<property name="defaultErrorView" value="error/500" />
<property name="exceptionMappings">
<props>
<prop key="java.lang.Exception">error/500</prop>
<prop key="SomeOtherException">error/custom</prop>
</props>
</property>
<property name="statusCodes">
<props>
<prop key="error/500">500</prop>
<prop key="error/custom">404</prop>
</props>
</property>
<property name="order" value="0" />
</bean>

并在 web.xml 中配置您的 404 错误页面(如果未找到映射,spring 调度程序 servlet 返回状态代码 404)

在您的jsp中,您可以按如下方式访问异常抛出
${exception}

关于spring - 带有 Spring 框架的自定义动态错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16297501/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com