Программирование >>  Руководство по созданию web приложений 

1 ... 126 127 128 [ 129 ] 130 131 132 ... 141


Чтобы принять данные от расширения ISAPI, мы создаем входной поток данных класса - основанный на потоке Этот поток,

в свою очередь, получен помощи метода DatalnputStream is; is = new

Чтение из потока выполняется в цикле:

String sli= ; String

== null)

break;

str+=£tr1:

Здесь в строке str накапливаются полученные данные. По достижении конца потока мы его закрываем:

После получения всех строк от расширения мы отображаем со-

держимое строки Etr в диалоговой панели:

. = new . - >tr, intorrnatiori ); amsgbox.

Размещение аплета в документе HTML

обмен данными с сервера Web, надо загружать именно с сервера, а с какого-либо другого. Поэтому в документе HTML с аиле-цравильно указывайте параметры тега <APPLET>: <applet

</applet>

Параметр задавать имя аплета, а параметр CODEBASE - адрес URL

каталога, в котором будет расположен аилет.

Полный исходный текст документа HTML, иодготовленный нами для аплета Card, Вы в листинге 9-3.

Листинг 9-3 хранится в файле chOBCreclltCard/CreditCard.html на прилагаемом к книге компакт-диске.

Исходный текст расширения ISAPI

в листинге 9-4 находится полный исходный текст расширения ISAPI, подготовленного нами для совместной работы с

ПистинЕ 9-4 Вы найдете в файле ch09/lsCard/lsCard.c на прилагаемом к книге компакт-диске.

Все основные действия выполняются расширением в HttpExten-

sionProc.



Получив управление, .эта функция :. - : - в буфер szluff заголовок формируемого документа:

- . - - .. Content-Type: О -

Обратите внимание: в заголовке мы указали, что документ представляет собой текст без форматирования, а не страницу 11 ГМ L. Передаваемый текст из буфера будет прочитан . - . из входного потока.

Далее функция nttp Ext ensi о и Pro с получастстроку параметров, переданную аплетом при загрузке ; . и добавляет ее в буфер:

Таким образом, расширение ISAPI отправляет обратно . . полученные от . .

Содержимое буфера посылается аплету следующим образом:

: . . .....:. l;:-.. ;.ij.,.a.;., null, null, ,J:LltmD- ... I

return : : a.

J ::..:..= 200;

return . .: .

Создавая реальный проект, не забудьте выполнить сканирование строки *lpECI>lpszOijeryStrlgg с целью извлечения из нее параметров и при необходимости - расшифровку. Далее Вы сможете использовать параметры в соответствии с логикой обработки номеров кредитных карточек, предусмотренной банком или

ПередачапараметровстраницеАЗР

Если по каким-либо Вы не сумеете создать на сервере расширение

ISAPI, описанный способ передачи : .тин о кредитных карточках можно реализовать средствами : . сценариев, расположенных в документах

ASP. При аплет Java получит номер кредитной карточки посетителя и зашифрует его, а затем передаст странице ASP с использоваиием механизма загрузки нового документа в окно браузера. В этом разделе мы приведем пример аплета указанные действия.

Полный исходный текст аплета приведен в листинге 9 5.

Листинг 9-5 Вы найдете в файле ch09/CreditCard2/CreditCard2.java на прилагаемом к книге компакт-диске.

Так же как и только что описанный аплет CreditCard, аплет CreditCard2 получает от посетителя. . ; о .. . ; .: . при помощи ; ; . тов, добавленных в режиме размещения .

Когда посетитель щелкает в окне аплета кнопку . метод actionPe :. .; загружает страницу ASP с именем . . указывая полный адрес в конструкторе класса URL.

U = new J8l( rittp:, satijro/ccard.aip? + Naiiia= + tfNapie.getText() +



4сс= + . ... +

liiexplr.: + tfExpiration.getTextC) +

Для того чтобы серверный расположенный на ;

получил : . о кредитной карточке, при создании объекта класса URL

мы добавляем к адресу : параметры, отделив их При .этом

параметры друг от друга символом

Чтобы загрузить ccard.asp в окно браузера, мы создаем объект клас-

са вызывая для этого метод

AppletContext appletContext;

ар .=,. :

Далее, пользуясь полученным контекстом, аплет загружает в пюиэ браузера документ с адресом в переменной и:

if (и != null)

<

, .howDc=ciiBant(u sc.lf

Для загрузки мы вызываем метод . передавая в качестве

второго параметра имя окна для документа. Пользуясь этим парамет-

ром, аплет может загрузить документ в любой в существующее или

созданное окно браузера. Параметр >> означает, что документ будет загру-

жен в то же самое окно, где находится аплет.

Исходный текст страницы ccard.asp приведен в листинге 9-6.

Листинг 9-6 Вы найдете в файле i на прилагаемом к

книге компакт-диске.

В нем мы получаем параметры, переданные . помощи объекта

Request, азатем отображаем их значения в динамически создаваемомдокумен-те HTML:

: number = date =

В реальном проекте : можно, например, передать серверному эле-

менту управления ActiveX для расшифровки и дальнейшей обработки. Таким образом, страница ASP станет удобным средством извлечения параметров из данных, отправленных посетителем Вашего сервера при помощи Java.



1 ... 126 127 128 [ 129 ] 130 131 132 ... 141

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика