Стандартный Java-класс для общей манипуляции URL/URI
Этот вопрос почти наверняка был задан раньше, но я все равно спрашиваю его, потому что я не мог найти ответ.
Как правило, существует ли какой-либо класс полезности, который помогает в общих манипуляциях с строками, связанных с URL/URI?
Я думаю что-то вроде Java SE URL Класс, но, возможно, немного лучше. Я ищу что-то, что позволит вам делать простые вещи, например:
- Получить список параметров строки запроса
- Метод "addParameter" для добавления
параметр строки запроса, и он будет
позаботьтесь о добавлении "&", "?" и "=",
где необходимо
- Кроме того, кодирование
значения параметров были бы идеальными...
Дайте мне знать, спасибо!
Ответы
Ответ 1
Существует не совсем (как ни странно) любой стандарт, который делает все это. Есть некоторые бит и куски, обычно зарытые в различные пакеты util:
Я использовал http://java.net/projects/urlencodedquerystring/pages/Home для достойного эффекта (для извлечения параметров).
Atlassian JIRA имеет http://docs.atlassian.com/jira/4.2/index.html?com/atlassian/jira/util/UrlBuilder.html, который я действительно извлек из банки и использовал.
В Android, http://developer.android.com/reference/android/net/Uri.Builder.html - это создатель Uri, который очень хорошо работает с построением URL-адреса с легкостью.
И, наконец, в классическом случае истории повторяется: Хорошая библиотека для обработки манипуляций URL-запросов в Java.
Я бы просто вырвал класс android.net.Uri.Builder и пару, что с классом urlencodedquerystring, а затем переносит их вместе с вами, но это похоже на хороший кандидат на пакет объявлений Apache.
Ответ 2
Мне лично нравится UriBuilder от jax-rs
Ответ 3
Это не отвечает напрямую на вопрос OP (т.е. это не общая универсальная библиотека для обработки URL-адресов), , но: если вы все равно будете использовать Spring, вы можете а также рассмотрим классы ServletUriComponentsBuilder
и UriComponentsBuilder
(см. здесь и здесь для javadocs).
Я считаю, что они связаны с зависимостью spring-web
. IMHO, они предлагают множество удобных методов утилиты для работы с URI, URL-адресами и параметрами запроса.