![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
piero |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 1.4.2002 Репутация: нет Всего: нет |
Задача: с помощью сервлета незаметно для пользователя-клиента(т.е чтоб ещё одно окошко не открывалось) отправить на другую страничку(некую вполне определённую) форму с данными, затем на этой самой страничке эмулировать нажатие Submit. Пример: отправить через пейджинговый сайт сообщение.
Вопрос: КАК? |
|||
|
||||
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 8 Всего: 48 |
Тут надо скорее не с помощью сервлета а с помощью апплета или JavaScripta. То-есть можно попробовать создать форму со скрытыми полями
<input type="hidden" name="..." value="..."> Дальше указать в action формы URL сервлета (или CGI-скрипта), который будет обрабатывать форму (отсылать сообщение на пейджер) и потом будет возвращать броузеру такую же страницу. А для того чтобы незаметно отсылалась форма нужно вызывать на какое-то событие метод формы submit(). Можно например на событие onLoad документа или на таймер. При этом если твой сервлет будет возвращать такую же по внешнему виду страницу что и страница из который он был вызван, то юзер даже ничего не должен заметить. ![]() -------------------- Account removed |
|||
|
||||
piero |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 1.4.2002 Репутация: нет Всего: нет |
Это не совсем то, что мне надо. А надо, чтобы весящий где-то на севаке БЕЗ какого либо контроля соединялся с сайтами пейджинговых компаний и САМ через их веб-интерфейс слал мессаги, отправляя этим сайта заплненные формы с сообщением, номером абонента и т.д, т.е вопрос именно в том, как сервлетом послать туда ( а не юзеру) форму...
![]() |
|||
|
||||
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 8 Всего: 48 |
Если у тебя юзер не принимает никакого участия, то в таком случае тебе достаточно написать класс с методом main(), который будет в бесконечном цикле или на события таймера будет вызывать скрипт пейджинговой компании с нужными параметрами (номер абонента, сообщение...)
Для запуска и остановки твоего класса ты можешь использовать сервлет. В принципе можно объеденить их в один класс. Тo-есть нужно сделать что-то вроде:
Теперь нужно при помощи сервлета (или другим способом) запустить на сервере этот класс. Фактически тебе надо на сервере выполнить команду java <path_to_class/class_name> Остановить можно из сервлета путем вызова статического метода Server.end(); -------------------- Account removed |
|||
|
||||
piero |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 1.4.2002 Репутация: нет Всего: нет |
Sun, sorry, но весь вопрос мой и состоит в том КАК всё-таки
ВЫЗВАТЬ СКРИПТ пейджинговой компании...Его URL известен, но что делать дальше? ![]() |
|||
|
||||
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 8 Всего: 48 |
Вызывать скрипт совсем несложно. Есть несколько способов это сделать. Можешь попробовать использовать класс URL
Здесь хитрость в том, что ты открываешь входной поток и требуешь от ВЕБ-сервера выдать тебе нужный документ (фактически вызываешь метод GET), только на самом деле ты запускаешь скрипт с параметрами. Параметры передаются в виде ?subject="Hello, world!"&message="Some message" Проверь - будет ли такая штука работать (я не проверял). Но теоретически она должна запустить на сервере твой скрипт. -------------------- Account removed |
|||
|
||||
piero |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 1.4.2002 Репутация: нет Всего: нет |
Наверное, не is.read(); a while(is.available()) is.read; ? или я не прав?
|
|||
|
||||
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 8 Всего: 48 |
На самом деле нужно лишь вызвать скрипт, а read позволяет тебе получить ответ от сервера в виде HTML-документа (в принципе ты можешь считать этот ответ в буфер и дальше его анализировать - скажем писать в лог-файл интересующую тебя информацию, а можешь смело сливать все это в /dev/null)
![]() -------------------- Account removed |
|||
|
||||
piero |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 1.4.2002 Репутация: нет Всего: нет |
Поэкспериментировал с несколькими сайтами пейджеров, не смог никак выяснить имя скрипта. Не подскажешь, как это делается?
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |