Скобки в URL-адресе запроса допустимы, но не в URI (Java)?

По-видимому, квадратные скобки не допускаются в путях URI.

Я не уверен, что это проблема Tomcat, но я получаю запрос с пути, которые содержат ].

Другими словами

request.getRequestURL() == "http://localhost:8080/a]b"
request.getRequestURI() == "/a]b"

BTW getRequestURL() и URI обычно экранируются, например, для http://localhost:8080/ab

request.getRequestURL() == "http://localhost:8080/a%20b"

Поэтому, если вы попытаетесь do:

new URI("http://localhost:8080/a]b")
new URI(request.getRequestURL())

Это завершится ошибкой с исключением разбора URI. Если я уйду с пути, который сделает %20двойным выходом.

Как преобразовать URL-адреса запроса сервлета в URI?

6
задан Adam Gent 14 June 2012 в 18:15
поделиться