冒号字符:在 URL 中得到编码 Tomcat 7.0.75

Colon character : in the URL getting encoded in Tomcat 7.0.75

我最近将 Tomcat 从 v7.0.26 升级到 v7.0.76 我的一个网络应用程序。之前工作的 URL 没有被编码。 : 被编码为 %3A。我尝试在 web.xml 和 server.xml 中提及 UTF-8,但仍然可以看到编码。有人遇到过类似的问题吗?

在调查 tomcat 变更日志并尝试 tomcat 的多个版本后,发现 tomcat v7.0.70 对此 issue. The changeset is here 进行了更改。此更改会导致 URL 在您调用 getRequestURI() 时进行编码。

为避免此编码问题,我们使用 Tomcat 7.0.70 之前的版本。

或者有一个标志 dispatchersUseEncodedPaths 可用于 enable/disable 这种在 tomcat v7.0.70 中引入的编码。