Как получить параметры http, используя Java? - PullRequest
1 голос
/ 09 марта 2011

У меня запрос solr "http://localhost:8080/solr/select/?q=A".I Мне нужно прочитать параметр" q "в моем коде Java. Как я могу получить это?

Спасибо, Маршал

Ответы [ 3 ]

7 голосов
/ 09 марта 2011

request.getParameter("q"); сделает свое дело.

1 голос
/ 09 марта 2011

Если у вас есть запрос в форме URL, вы можете использовать URL.getQuery (), а затем придется разделить строку на = и &, чтобы найти нужный элемент, например:

public String getQueryPart(URL url, String key) {
    String query = url.getQuery();
    if(query == null)
       return null;
    String[] parts = query.split("[&=]");
    for(int i = 0; i < parts.length; i+=2) {
       if(parts[i].equals(key)) {
          return parts[i+1];
       }
    }
}

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

И, конечно, если вы используете это в сервлете или аналогичном серверном коде, называемом именно этим URL, есть лучшие способы получить параметры в API сервлета (как писал Дипак).

0 голосов
/ 09 марта 2011

Зависит от вашего контекста.
Откуда ты пытаешься получить этот параметр? Как вы используете Solr точно?

Кстати, /select - это просто часть URL-адреса, используемая для сопоставления запросов к основному сервлету Solr, который называется (подождите ...) * Используется 1008 *), что связано с тем, что он обрабатывает поисковые запросы, иногда также называется Solr Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...