|
Программирование >> Руководство по созданию web приложений
Чтобы принять данные от расширения 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.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |