Подтвердить что ты не робот

Стандартный Java-класс для общей манипуляции URL/URI

Этот вопрос почти наверняка был задан раньше, но я все равно спрашиваю его, потому что я не мог найти ответ.

Как правило, существует ли какой-либо класс полезности, который помогает в общих манипуляциях с строками, связанных с URL/URI?

Я думаю что-то вроде Java SE URL Класс, но, возможно, немного лучше. Я ищу что-то, что позволит вам делать простые вещи, например:

  • Получить список параметров строки запроса
  • Метод "addParameter" для добавления параметр строки запроса, и он будет позаботьтесь о добавлении "&", "?" и "=", где необходимо
  • Кроме того, кодирование значения параметров были бы идеальными...

Дайте мне знать, спасибо!

4b9b3361

Ответ 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-адресами и параметрами запроса.