我有一个自定义错误处理 servlet,它捕获所有可抛出的对象:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/Exception</location>
</error-page>
事情是,这个 servlet 将执行解析的转发请求并设置一些自定义响应 header 。我希望它也适本地设置 http 状态代码,但似乎如果我将 http 状态代码设置为响应,然后我调用转发,响应代码自动变为 500。
为什么?
最佳答案
如果您试图遵守对 Throwable 的正确响应代码,那么我认为 500 是合适的。
500 Internal Server Error A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
如果你有意想要遵守其他事情,那么你可以通过以下方式做到这一点:
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
或
response.sendError(HttpServletResponse.SC_FORBIDDEN );
我的意思是您可以提供任何想要的格式。
关于java - Tomcat 自定义错误 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31715328/