Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сервлет не видит параметров посланных POST методом 
:(
    Опции темы
marmota
Дата 12.1.2010, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



Добрый день. У меня следующий вопрос:
Как мне послать POST запрос на Servlet, что бы вытащить на сервлете переметры? 

Отправляю запрос из тестовой програмулины, использую библиотеку httpclient:

Код

PostMethod method = new PostMethod(portalUrl);

NameValuePair[] data = {
        new NameValuePair("param1", "param"),
        new NameValuePair("param2", "parampampam"),
        new NameValuePair("param3", "p")};
method.setRequestBody(data);

httpClient.executeMethod(method);




В методе service() сервлета пытаюсь вытащить из HttpServletRequest посланые параметры, там их нет. 
никак. 
ни 
Код
 httpServletRequest.getParameterMap(); 
 
ни 
Код
httpServletRequest.getInputStream(); 
 


Что я делаю неверно?
Может быть что-то с заголовками не то?

Вобще оно работет если перегнать все параметры в строку, типа того: param1=param&param2=parampampam ...

и сделать  
Код
 method.setQueryString(requestString); 

Но хочется именно через RequestBody.

Спасибо.

PM MAIL   Вверх
garbuz
Дата 12.1.2010, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 8
Всего: 11



marmota, действительно странно.
А по portalUrl точно серлет расположен?
PM MAIL   Вверх
marmota
Дата 12.1.2010, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



да, я даже из формы могу отправить на него запрос. 

типа так:
<html>
<FORM name="forma" method="post" enctype="multipart/form-data" 
    action="http://staffportal:8180/portal/staff/createTransaction">
    <INPUT name="file" type="file">
    <INPUT name="button" type="Submit" value="Послать">
</FORM>
</html>

сервлет отзывается, файл туда приходит (смотрю дебагом)
PM MAIL   Вверх
dobrolub
Дата 12.1.2010, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



в Servlet 3.0 есть поддержка заливки файлов. Посмотрите Resin 4.0.3 или glassfish–
интересующие тебя методы в класс HttpServletRequest

getPart(String);
getParts();


PM   Вверх
COVD
Дата 12.1.2010, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Код

int statusCode = client.executeMethod(method);


 statusCode = 200 ?  т.е. ОК ?

PM MAIL   Вверх
eXcile
Дата 15.1.2010, 05:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 8.2.2007

Репутация: нет
Всего: 5



marmota

Код

InputStream in = request.getInputStream(); 
ObjectInputStream inputFromApplet = new ObjectInputStream(in); 
gg =(String) inputFromApplet.readObject();
System.out.println(gg);


для примера , можно так получить стрим от клиента

из стрима на сервлете вам надо вытаскивать такой же объект что и отправляли, если он не является простым типом


Это сообщение отредактировал(а) eXcile - 15.1.2010, 05:50
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1521 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.