Apache Tomcat:如何在[重新部署]期间防止404状态>

问题描述 投票:2回答:1

[当我更改部署描述符(例如apache-tomcat/conf/Catalina/localhost/myApp.xml)或用我的Web应用程序的新版本替换myApp.war文件时,将使用myApp.xml中的更新配置或Windows 2000中的新应用程序版本来停止并再次启动该文件。 myApp.war

在上下文路径/myApp上进入的请求将获得404状态错误页面,直到应用程序完全加载并启用以处理请求为止。

我想对此进行自定义,并显示503 temporary unavailable错误页面。是否在某处有配置指令?

到目前为止,我想到的解决方法包括:

  • 编辑apache-tomcat/conf/web.xml并用响应所需的定制Servlet实现替换org.apache.catalina.servlets.DefaultServlet
  • 或在apache-tomcat/webapps/ROOT/中提供一个微型自定义Web应用程序,根据需要进行响应。
  • 这些有点笨拙,我希望有人知道更轻巧的解决方案。我也知道部署相同上下文路径(myApp##v001.xmlmyApp##v002.xml,...)的多个版本的可能性,但还不能并行运行多个应用程序实例。

当我更改部署描述符(例如apache-tomcat / conf / Catalina / localhost / myApp.xml)或用新版本的Web应用程序替换myApp.war文件时,它将停止并再次启动...] >

tomcat servlets
1个回答
1
投票

我最终编写了一个作为ROOT.war部署的小servlet,并检查是否有给定的请求,如果存在不可用(=停止)且上下文路径匹配的部署。如果是,则返回503状态,否则返回404。

为了访问外部部署,除了servlet api外,该应用还依赖于tomcat-catalina

© www.soinside.com 2019 - 2024. All rights reserved.