Есть ли утилита Apache, которая берет Строку запроса и некоторую Карту кодирования и возврата ключа, значение [] декодируемый URL?
Он устарел, но вы можете использовать HttpUtils.parseQueryString .
Он сопоставляет имена параметров со значениями. Если параметр встречается более одного раза, значение представляет собой массив.
РЕДАКТИРОВАТЬ: Вышеупомянутый метод устарел, потому что он не позволяет вам указывать кодировку символов.
В проекте HttpClient в apache есть классы, необходимые для этого.
Используйте URIUtil.decode (строковые данные, строковое кодирование) для декодирования строки запроса.
Затем ParameterParser.parse (запрос строки, разделитель символов) , чтобы получить список NameValuePair s. Затем вы можете поместить их в Commons Collections MultiMap , введя ключ по имени параметра. (Вы можете использовать обычную хеш-карту, но это требует большего количества кода для обработки нескольких значений для каждого ключа.)