我正在尝试从 tomcat servlet 发送纯文本错误消息,以便应用程序可以将响应呈现给用户。
我的 web.xml 中有以下内容:
<error-page>
<error-code>409</error-code>
<location>/string_error.jsp</location>
</error-page>
string_error.jsp 如下:
${requestScope['javax.servlet.error.message']}
这成功地为我提供了 409 响应的纯文本错误消息。但是,我想对 400/500 范围内的任何错误使用同一页面,而无需手动指定新的<error-page>
为每一个块。我本以为<error-code>*</error-code>
会实现这一点,但事实并非如此。 Tomcat 是否提供了执行此操作的机制?
如果您使用的是 Servlet 3.0 容器,例如 Tomcat 7.0,那么您可以省略<error-code>
(or <exception-type>
) 元素使其成为全局默认错误页面。
<error-page>
<location>/string_error.jsp</location>
</error-page>
从 Servlet 3.0 开始,这些元素是可选的。
但是,如果您还没有使用 Servlet 3.0,那么您必须在容器级别配置它。例如,在 Tomcat 6.0(这是一个 Servlet 2.5 容器)中,您需要创建一个自定义错误报告阀门类。然后您可以将其指定为errorReportValveClass
的属性<Host> element in /conf/server.xml
file.
对于其他容器,请参阅其文档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)