如何在Tomcat中的多个错误代码中使用相同的错误页面?

我正在尝试从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>(或<exception-

type>)元素以使其成为全局默认错误页面。

<error-page>

<location>/string_error.jsp</location>

</error-page>

从Servlet 3.0开始,这些元素是可选的。

但是,如果您尚未使用Servlet 3.0,则必须在容器级别对其进行配置。例如,在Tomcat 6.0(它是一个Servlet

2.5容器)中,您需要创建一个自定义错误报告Valve类。然后,您可以将其指定为errorReportValveClass在属性<Host>元素在/conf/server.xml文件中。

对于其他容器,请查阅其文档。

以上是 如何在Tomcat中的多个错误代码中使用相同的错误页面? 的全部内容, 来源链接: utcz.com/qa/407463.html

回到顶部