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