处理应用程序 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 错误代码应如何解决?

503 服务不可用没有被任何 IIS 错误页面或 ASP.net 错误页面处理

IIS 7.0 503 错误与实现 IHttpAsyncHandler 的通用处理程序 (.ashx)

已成功上传到 Heroku Local,但一旦推送到 Heroku live 就会出现 503 错误

Azure 移动服务中的随机 503 错误

网页503错误