如何验证错误类型 5xx 或 4xx 的自定义错误屏幕

How to verify custom error screen for error type 5xx or 4xx

我已经通过在 web.xml 中使用错误页面标记为任何 http 5xx 或 4xx 错误创建了一个自定义错误屏幕,但最好的验证方法应该是什么。我能够验证错误类型 401 和 403,但不知道其他错误。

为了快速手动测试错误页面是否正常工作,我会在处理请求的控制器代码中抛出一个运行时异常,例如:

throw new RuntimeException("test");

一个非常简单的 servlet 怎么样:

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = "/testResponse")
public class TestResponseServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {

        String returnCode = request.getParameter("returnCode");

        if( returnCode == null ) {
            response.sendError(HttpServletResponse.SC_BAD_REQUEST, "missing returnCode parameter");
            return;
        }

        response.sendError(Integer.parseInt(returnCode), "returned code " + returnCode );
    }
}

用类似 http://localhost:8080/testResponse?returnCode=505

的方式调用它