OberonCore https://forum.oberoncore.ru/ |
|
Как использовать потенциал ВВ в детском кружке (не школе)? https://forum.oberoncore.ru/viewtopic.php?f=7&t=4999 |
Страница 2 из 2 |
Автор: | tvorimvsevmeste [ Суббота, 01 Март, 2014 21:13 ] |
Заголовок сообщения: | Re: Как использовать потенциал ВВ в детском кружке (не школе |
Пётр Кушнир писал(а): Код: Log.String('запрос'); Log.Ln; Петр! Очень прошу Вас, покажите пример с html-формой, посылающей сервлету хотя бы что-нибудь. Прием сообщений после PHP кажется сложноватым. Снизойдите пожалуйста до неофита! Буду очень благодарен. |
Автор: | Пётр Кушнир [ Воскресенье, 02 Март, 2014 14:20 ] |
Заголовок сообщения: | Re: Как использовать потенциал ВВ в детском кружке (не школе |
Далее я разместил код хэндлера Do, предполагается, что остальной код модуля не меняется. По сути, ему и не надо меняться, весь сервлет расположен в этом методе. В сообщении m есть описание запроса .rq, и, в зависимости от запроса есть еще и данные .query. Опишем простую форму, которая будет использовать метод POST для отправки данных на сервер. Данные на сервер отправляются на адрес "/". На сервере мы анализируем запрос, и если вдруг POST, то проверяем .query на NIL. Query содержит в себе список полей с идентификаторами, поэтому можно просто запросить по идентификатору значение этого поля val. Далее мы значение поля отправляем обратно в виде строки. Вот и всё. Код: PROCEDURE (s: Servlet) Do (m: O3baseWebServlets.Msg);
VAR file: O3baseFiles.File; val: O3baseWebHttp.QVal; PROCEDURE Generate (IN text: ARRAY OF CHAR); VAR wr: O3baseFiles.Writer; i: INTEGER; BEGIN file := O3baseFiles.factory.Temp(); wr := file.WrNew(); i := 0; WHILE i < LEN(text$) DO wr.Char(text[i]); INC(i) END END Generate; BEGIN Log.String(m.rq.uri$); Log.Tab; Log.String(m.rq.method$); Log.Ln; IF (m.rq.uri$ = '/') THEN IF m.rq.method$='GET' THEN Generate('<html><body><form method="post" action="/"><input name="text"><input type="submit"></form></body></html>'); (* как будто загрузили с диска *) ELSIF m.rq.method='POST' THEN IF m.query#NIL THEN val:=m.query.Get('text') END; IF val#NIL THEN Generate('Hello, world!'+'</br>'+val.sp$); END; END; END; IF file # NIL THEN m.Respond(O3baseWebHttp.ResponseUtf8Html(file)) END; END Do; |
Автор: | Пётр Кушнир [ Воскресенье, 02 Март, 2014 14:33 ] |
Заголовок сообщения: | Re: Как использовать потенциал ВВ в детском кружке (не школе |
Но вообще сейчас ведь модно делать веб-приложения на стороне клиента, а на сервере выполнять только серверную часть работы. http://ru.wikipedia.org/wiki/REST http://ru.wikipedia.org/wiki/Ajax |
Автор: | tvorimvsevmeste [ Воскресенье, 02 Март, 2014 20:09 ] |
Заголовок сообщения: | Re: Как использовать потенциал ВВ в детском кружке (не школе |
Пётр Кушнир писал(а): Но вообще сейчас ведь модно делать веб-приложения на стороне клиента, а на сервере выполнять только серверную часть работы. http://ru.wikipedia.org/wiki/REST http://ru.wikipedia.org/wiki/Ajax Но тогда педагогический потенциал BB будет же не причём? о3 я хочу использовать, чтобы программы, написанные кружковцами в ВВ, можно было использовать для iframe приложений в ВКонтакте. Для соблазнения и воодушевления обучающихся на продолжительную работу. PS. За пример большое спасибо. Именно это я и хотел найти. |
Автор: | Роман М. [ Среда, 02 Апрель, 2014 15:09 ] |
Заголовок сообщения: | Re: Как использовать потенциал ВВ в детском кружке (не школе |
Ответил в теме Обучение на Обероне и Компонентном Паскале |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |