使用Spring框架的自定义动态错误页
我希望我的应用程序在引发异常时显示自定义错误页面。包含页面的响应应该具有正确的HTTP状态,并且包含异常消息,可能还包含来自异常对象的其他数据 我已经尝试了两种方法,但都不起作用: 1) 从使用Spring框架的自定义动态错误页,spring,exception,error-handling,custom-error-pages,Spring,Exception,Error Handling,Custom Error Pages,我希望我的应用程序在引发异常时显示自定义错误页面。包含页面的响应应该具有正确的HTTP状态,并且包含异常消息,可能还包含来自异常对象的其他数据 我已经尝试了两种方法,但都不起作用: 1) 从AbstractHandlerExceptionResolver子类返回ModelAndView-我可以生成我想要的任何错误页面,但它会以200 OK HTTP状态得到服务 2) 在web.xml中指定错误页-我找不到访问异常的方法 好的,解决了。事实证明这很容易。我使用了HttpServletRespons
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>
@ExceptionHandler只在每个控制器的基础上工作,错误页面不会让我处理异常
${exception}