org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER在Tomcat9中

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

我正在从Tomcat8升级到Tomcat9,并且sendError不会传递我要与使用者共享的自定义错误消息。

我读到sendError和org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER属性从Tomcat 8.5开始就已被弃用,但是对于某些人来说,它似乎可以在Tomcat9中使用。

一旦说了这个,那么我的主要问题是...那么用错误状态代码响应时,永久解决发送错误消息的最佳方法是什么?如果答案是sendError仍与Tomcat9兼容,那么我的问题是应在哪里配置此org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER?在哪个文件中?如果它不存在,我需要添加到文件中以使其正常工作的代码是什么?因为我在配置目录中的任何文件中都找不到此属性的条目。

谢谢PS:我知道有很多关于该主题的帖子,但恐怕它们有些陈旧和/或有些是Spring的,这不是我的情况。

tomcat9
1个回答
0
投票

有趣的问题。据我所知,Tomcat开发人员认为:

  1. “因为HTTP / 2不支持原因”,
  2. “原因在HTTP / 1.x中是可选的,并且主要供人使用”,和
  3. “智能开发人员已经知道HTTP状态代码,不需要解释性文字”

他们可以删除对它的支持。

从我的协议兼容性和系统集成的角度来看,我认为这是非常错误的。我的观点是,只要支持HTTP / 1.x,就应该支持HTTP / 1.x的所有功能(无论客户端是否“依赖”这些功能)。

[我相信,应该由整个系统所有者/架构师的决定-包括客户端和服务器应用程序以及Tomcat-来决定它们是否需要原因码。

Tomcat开发人员不对这些整体系统负责,从我的角度来看,不应决定删除他们声称支持的协议的常用功能,这些功能破坏了他们不负责的功能。

但是,这似乎是他们的决定。

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