有没有办法在维护 HTTP 错误代码的同时拥有自定义错误页面(不使用本身具有 200 代码的错误页面捕获错误)?是否必须使用 in web.xml 来完成,或者我可以直接在 JSP 中完成吗?
如果我使用 response.sendError 发送 HTTP 错误代码,则页面上不会出现其他文本。我可以使用 out.println() 在页面上获取文本,但它似乎无法打印出 html,只能打印基本文本。
是的,在您的 web.xml 中,您可以使用“错误页面”标签和“错误代码”和“位置”的子元素配置错误代码
<error-page>
<error-code>400</error-code>
<location>/WEB-INF/jsp/errorpages/errorPage400.jsp</location>
</error-page>
您应该使用 response.setStatus(int statusCode) 将状态设置为 404,同时仍然允许您发送自定义错误页面。