Assume the following handler method declaration:
Assume also a RequestMappingHandlerMapping that has urlDecode and removeSemicolonContent set to false.
Now when a request for "path;mvar=a%2fb?query=c%2fd" is made, it results in the confusing situation where both filter and query are decoded (to ";mvar=a/b" and "c/d" respectively) yet mvar is left undecoded (set to "a%2fb").
This greatly diminishes the usefulness of
SPR-9098 in connection with matrix variables.
Of course there is a problem of the matrix part of the URL containing an encoded comma, semicolon or equals sign. These should probably not be interpreted in such situations as separators, but as belonging to the variable value. So the decoding would have to happen after the splitting. But the fact that it is not done at all looks confusing and inconsistent.