powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache HttpClient & Servlet
12 сообщений из 12, страница 1 из 1
Apache HttpClient & Servlet
    #38809568
Tom Hardy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, возникла необходимость вызова сервлета, в котором Get метод.
Сказали взять Apache HttpClient и сделать запрос будто он приходит извне.

Подскажите пож как его использовать для этого? Нашел сайт с примерами, не понял какой из них мне тут необходим)
http://jexp.ru/index.php/Java/Apache_Common/Http_Client#Http_methods

Спасибо!
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38809584
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tom Hardy,
для теста? А то, есть плагин к фоксу - удобный
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38809588
Tom Hardy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Да, необходимо именно через HttpClient)
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38809630
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tom Hardy...в котором Get метод...
...не понял какой из них мне тут необходим)...

Это может показаться невероятным. Но необходим тот в котором про GetMethod.
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38809700
Tom Hardy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Там почти все с GetMethod))

У меня есть сервлет ReadService, который вытаскивает документ из БД и отображает в браузере.
Если необходимо вытащить несколько сразу - то как это реализовать с помощью HttpClient?

Код: java
1.
2.
3.
4.
5.
HttpClient httpClient = new HttpClient();
GetMethod method = new GetMethod("localhost:8080/AddService");
for (int k = 0; k < 100; k++) {
            ReadService.doGet(req, resp);
        }



Как-то так?
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38809838
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tom HardyBlazkowicz,

Там почти все с GetMethod))

У меня есть сервлет ReadService, который вытаскивает документ из БД и отображает в браузере.
Если необходимо вытащить несколько сразу - то как это реализовать с помощью HttpClient?

Код: java
1.
2.
3.
4.
5.
HttpClient httpClient = new HttpClient();
GetMethod method = new GetMethod("localhost:8080/AddService");
for (int k = 0; k < 100; k++) {
            ReadService.doGet(req, resp);
        }



Как-то так?

сервлет ничего не отображает в браузере он лишь отдает то что запросил браузер.
Браузер запросил что то у сервера а сервер определил по урлу какой сервлет обработает запрос и вызвал соотвествующий метод этого сервлета.
Определитесь какие запросы ReadService обрабатывает post или get. Выберите соотвествующий способ создания запроса, напихайте туда необходимых параметров если таковые нужны для работы сервлета.
Сделате запрос.

HttpClient ключевое слово клиент. Клиент может быть не только в другой jvm но и другой машине и не знает о существовании сервелета ReadService.
ReadService сервлет находится на сервере.


Смотрите API
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38809851
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://hc.apache.org/httpclient-3.x/tutorial.html
Коротко
Инстанцируем экземпляр HttpClient
HttpClient client = new HttpClient();

Создаем метод

HttpMethod method = new GetMethod(" http://www.apache.org/");
Выполняем метод
client.executeMethod(method);

Внезапно по ссылке даже код примера есть как и что делать включая обработку ошибки
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38809901
Tom Hardy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lleming,

Спасибо, теперь намного яснее стало)

Создал метод HttpMethod method = new GetMethod("localhost:8080/ReadService");
А как сделать так, чтобы метод сервлета выполнялся n-ое количество раз?
Здесь же в цикл не закинешь.
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38809904
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tom HardyЗдесь же в цикл не закинешь.
Почему?
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38809933
Tom Hardy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Вот так же не будет работать:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
public class HttpClientService {

    private static String url = "localhost:8080/ReadService";

    public static void main(String[] args) {

        for (int k = 0; k < 100; k++) {          
            HttpClient client = new HttpClient();         
            GetMethod method = new GetMethod(url);            
            method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
                    new DefaultHttpMethodRetryHandler(3, false));
            try {
                // Execute the method.
                int statusCode = client.executeMethod(method);
                if (statusCode != HttpStatus.SC_OK) {
                    System.err.println("Method failed: " + method.getStatusLine());
                }    
                } catch ...//exceptions                
                method.releaseConnection();
            }
        }
    }
}



И еще один момент последний не пойму, вписывая в браузер localhost:8080/ReadService - у меня выходил на экране 1 документ.
По идеи, с таким HttpClient'ом теперь после этого будет 100 выходить? А 1 теперь нельзя вывести не меняя код?
Объясните пожалуйста этот момент.
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38810394
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам бы разобрать что такое http и как сношаются клиент (браузер) и сервер.

Браузер получает документ и отображает его на экране.
Браузер это своего рода интерфейс для того же http клиента.


HttpClient после выполения метода executeMethod запихает данные полученные запросом в GetMethod. Т.е. в итого вы получете в цикле 100 объектов GetMethod в каждом из которых будут храниться результаты запросов сам документ и хеадеры.

Вы пример смотрели?
Там же есть как получить сам документ после выполнения запроса.
...
Рейтинг: 0 / 0
Apache HttpClient & Servlet
    #38810399
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
 // Read the response body.  ---Получить тело документа полученное запросом 
byte[] responseBody = method.getResponseBody();
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache HttpClient & Servlet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]