处理应用程序 web.xml 中的错误 503?
Posted
技术标签:
【中文标题】处理应用程序 web.xml 中的错误 503?【英文标题】:Handle error 503 in application web.xml? 【发布时间】:2011-10-04 16:29:04 【问题描述】:我尝试处理错误代码 503 在我的应用程序 web.xml 中如下:
<error-page>
<error-code>503</error-code>
<location>/serviceNotAvailable</location>
</error-page>
但它不起作用,我不知道为什么,请告知。 我正在使用 apache,tomcat。
【问题讨论】:
究竟是什么不起作用?服务器不显示/serviceNotAvailable吗?什么资源映射到 /serviceNotAvailable、servlet、jsp 等? 发生503时,用户没有被转发到serviceNotAvailable页面,顺便说一下/serviceNotAvaiable是一个jsp页面映射到一个spring控制器。顺便说一句,上面也可以正常工作,错误代码为 400 您如何测试 503?服务器超载? 快速停止和启动tomcat,关机和启动之间没有休眠时间 但是如果你关闭了你的tomcat,那么谁来提供/serviceNotAvailable 页面呢?它根本行不通。如果 tomcat 正在运行,日志是否显示 503 发生或您进入浏览器? 【参考方案1】:我也遇到过类似的情况,最终在tomcat前使用了apache。
即当tomcat由于某种原因宕机时,Apache拦截503,并使用httpd config
Error Document 503
重定向到您自己的自定义页面。一些细节可以在这里找到apache tomcat 503 custom error page。
与 404 等相比,503 相当严重,大多数时候有一些不可恢复的错误导致服务/应用程序崩溃,在我们的例子中是堆内存问题。
我也会对其他人提出如何仅从 Tomcat 重定向 503 非常感兴趣。
【讨论】:
以上是关于处理应用程序 web.xml 中的错误 503?的主要内容,如果未能解决你的问题,请参考以下文章
503 服务不可用没有被任何 IIS 错误页面或 ASP.net 错误页面处理
IIS 7.0 503 错误与实现 IHttpAsyncHandler 的通用处理程序 (.ashx)