admin 管理员组文章数量: 1086019
I'm trying to send plain text error messages from a tomcat servlet, so that the responses may be presented to the user by the application.
I have the following in my web.xml:
<error-page>
<error-code>409</error-code>
<location>/string_error.jsp</location>
</error-page>
And string_error.jsp is the following:
${requestScope['javax.servlet.error.message']}
This successfully gives me plain-text error messages for a 409 response. However, I would like to use this same page for any error in the 400/500 range, without manually specifying a new <error-page>
block for each one. I would have assumed that <error-code>*</error-code>
would acplish this, but it does not. Does Tomcat provide a mechanism to do this?
I'm trying to send plain text error messages from a tomcat servlet, so that the responses may be presented to the user by the application.
I have the following in my web.xml:
<error-page>
<error-code>409</error-code>
<location>/string_error.jsp</location>
</error-page>
And string_error.jsp is the following:
${requestScope['javax.servlet.error.message']}
This successfully gives me plain-text error messages for a 409 response. However, I would like to use this same page for any error in the 400/500 range, without manually specifying a new <error-page>
block for each one. I would have assumed that <error-code>*</error-code>
would acplish this, but it does not. Does Tomcat provide a mechanism to do this?
2 Answers
Reset to default 6If you're using a Servlet 3.0 container, such as Tomcat 7.0, then you can just omit the <error-code>
(or <exception-type>
) element to make it a global default error page.
<error-page>
<location>/string_error.jsp</location>
</error-page>
Since Servlet 3.0 those elements are namely optional.
However, if you're not on Servlet 3.0 yet, then you'd have to configure it at the container level. In for example Tomcat 6.0 (which is a Servlet 2.5 container), you'd need to create a custom error report valve class. You can then specify it as errorReportValveClass
attribute of the <Host>
element in /conf/server.xml
file.
For other containers, consult their documentation.
You can add error-page
elements by either the error-code
or the (java) exception-type
in Tomcat. I do not think it can be made general as you have suggested.
<error-page>
<error-code>404</error-code>
<location>/404error.html</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/someJavaException.html</location>
</error-page>
本文标签: javaHow can I use the same error page for multiple error codes in TomcatStack Overflow
版权声明:本文标题:java - How can I use the same error page for multiple error codes in Tomcat? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1744036764a2522509.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论