Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unix.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.91 Mб
Скачать

10.5. Взаимодействие апплета с сервером (пакет java.Net).

Язык Java обладает мощными возможностями организациями сетевого взаимодействия по модели клиент-сервер, большинство из которых входят в пакет java.net. Это, например, класс Soket, позволяющий организо­вать соединение по протоколу TCP между различными портами клиента и сервера, а также класс DatagramPacket, реализующий протокол UDP, класс MulticastSocket, позволяющий использовать широкове­щательные пакеты, и многие другие. К сожалению, из-за объемности вопроса, нет возможности изложить его в лекциях, так что желающим придется проработать его самостоятельно (при рассмотрении вопроса, надо не забывать, что апплету разрешено устанавливать сетевые соединения только с сервером откуда он был загружен). Ниже будет приведено только несколько примеров использования класса URL и

URLConnection, которые позволяют получать от сервера (передавать на сервер) информацию по протоколу HTTP.

Пример 1. Считывается html - документ по указанному адресу и отображается в апплете: import java.applet.*; import java.awt.*; import java.net.*; try {

URL address=new URL ("http://www.microsoft.com"); // создание объекта URL

AppletContext document = getAppletContext ( ); // получение ссылки на контекст апплета

documentshowDocument (address); // отображение документа с www.microsoft.com

}

catch (MalformedURLException e) { /* не удалось прочитать */ }

Пример 2. На сервер, CGI-приложению, методом POST, посылается строка ПРОВЕРКА, и считывается ответ сервера - одна строка. try {

URL address = new URL ("http://somewhere.com/cgi-bin/proga"); // создание объекта URL URLConnection soedinenie = address.openConnection( ); /* более удобный объекта URLConnection обеспе- чивает не посимвольный а построчный ввод */ PrintStream out = new PrintStream (soedinenie.getOutputStream ( ) ); // объекта out для записи данных DataInputStream in = new DataInputStream (soedinenie.getInputStream ( ) ); // объект in для чтения данных out.println("string= ПРОВЕРКА "); // отправка строки на сервер

String otvet = in.readLine ( ); // чтение строки с сервера

} catch (MalformedURLException e1) {} catch (java.io.IOException e2) {} // обработка исключений

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

чтение из объекта in. Если же сначала считать данные из input, то будет выполнен метод GET, и

последующие попытки записи данных в output приведут к ошибке.

10.6. Параметры, конфигурирование апплета.

В апплетах могут использоваться параметры, задаваемые пользователем при запуске апплета. Это чем-то напоминает указание аргументов в командной строке, при запуске DOS программ. Параметры задаются при помощи тэга <PARAM>, находящегося внутри тэгов <APPLET> </APPLET>, определяющих апплет. В приведенном ниже примере апплету передаются параметры stroka (отображаемая на экране строка) и fontsize (размер шрифта):

<html> <body> <Applet code="AppletName.class" width=350 height=200 name="AppletName"> <PARAM NAME=stroka VALUE="Отображаемая строка"> <PARAM NAME=font_size VALUE=72> </Applet> </body></html>

Переданные апплету параметры можно прочитать из апплета при помощи метода GetParameter ( ). Пример:

import java.awt.*;

import java.Applet.*;

public class AppletName extends Applet {

String str;

public void init ( ) {

String s; str = getParameter("stroka"); \\ считывание параметра stroka

s = getParameter("font_size"); \\ считывание параметра fontsize

int FontSize = Integer.parseInt(s); \\ преобразование параметра fontsize в число типа int

Font font = new Font("TimesRoman", Font.BOLD, FontSize);

setFont(font); \\ установление параметров шрифта }

public void paint(Graphics g) { g.drawstring (str, 100, 100); } }

Заключение:

В лекции были рассмотрены только базовые конструкции языка Java. Не рассмотрен пакет java.io, позволяющий организовать работу с файлами (апплетам запрещены чтение и запись на диск). Не рассмотрена работа с потоками - мощная возможность, позволяющая реализовать параллельное выполнение участков программы. Не рассмотрен криптографический интерфейс Java Security API, позволяющий легко реализовать надежные криптографические алгоритмы (шифрование данных). Не рассмотрено взаимодейст­вие с менеджером безопасности java. Не рассмотрена возможность динамической загрузки классов, сервлеты Java (апплеты, которые выполняются на сервере, интегрируясь с ним), взаимодействие Java c другими языками, интерфейс Java Beans API (создание межплатформенных подключаемых модулей, представляющих собой законченные объекты из которых можно "собирать" программы и пользовательский интерфейс), использование Java для доступа к базам данных и многое другое. Однако хочется надеяться, что

полученные базовые знания помогут вам легко читать Java-программы и самостоятельно разобраться в этих вопросах.

Лекция 12. Язык JavaScript

JavaScript - язык для составления скриптов, встраиваемых в Web-страницы для придания им привлекатель­ного вида. В отличие от VBScript, который поддерживается только в Internet Explorer, JavaScript поддерживается большинством популярных браузеров. JavaScript - это не Java ! Язык Java был разработан компанией Sun Microsistems, а JavaScript - фирмой Netscape (первоначально этот продукт Netscape назывался LiveScript и только после бума Java, фирма Netscape купила у Sun лицензию и переименовало свое детище в JavaScript). Хотя синтаксис Java и JavaScript во многом схож, однако возможности и назначение языков разные. Если апплеты Java представляют собой независимые программы с широкой гаммой возможностей, встраиваемые в HTML-страницу, то скрипты JavaScript в основном нацелены на использование существующей объектной модели Web-браузера, а также позволяют расширять ее, создавая собственные объекты. Программы на Java представляют собой байт-код, а программы на JavaScript непосредственно включаются в Web-страницу в виде исходного текста. Таким образом, Java - это язык для написания программ, а JavaScript - это язык для написания скриптов управления HTML-страницами.

Для включения программ на JavaScript в HTML-страницу необходимы те же теги <SCRIPT> </SCRIPT>, что и для программ на VBScript, выглядящие примерно так:

<SCRIPT LANGUAGE="JavaScript"> <!--

alert("Приветик"); -- >

</SCRIPT>

В остальном, принцип размещения и написания JavaScript программ похож на рассмотренный ранее для VBScript - тот же объектно-ориентированный подход, то же манипулирование объектами Window, Document, Form и др. через их свойства, методы и события. Единственное отличие - это синтаксис, унаследованный от Java. В лекциях не будет уделяться много внимания синтаксису JavaScript, за исключением случаев, когда он отличен от синтаксиса Java. Основной упор будет сделан на решение ряда задач (создание анимации, управление слоями и др.). Поэтому рекомендую перечитать лекции по Java, а также лекции по VBScript и HTML.

Существует четыре версии JavaScript.

  • JavaScript 1.0. Первая версия языка, поддерживаемая Internet Explorer 3.0 и Netscape Navigator 2.0.

  • JavaScript 1.1. Поддерживается Netscape Navigator 3.0 и Internet Explorer 4.0 (почти полностью).

  • JavaScript 1.2. Поддерживается Netscape Navigator 4.0 и Internet Explorer 4.0 (частично).

  • JavaScript 1.3. Поддерживается Netscape Navigator 4.5.

В дескрипторе <SCRIPT> можно указывать номер версии JavaScript. Указание версии JavaScript предотвращает попытки броузеров старых версий выполнить сценарии, созданные в новых версиях JavaScript. Если вы используете JavaScript 1.3, то Netscape 4.0, Internet Explorer 4.0 и ранних версий выполнить сценарии не в состоянии.

Начиная с версии JavaScript 1.2, программы на JavaScript могут не включаться непосредственно в текст HTML-страницы, а быть оформлены в виде отдельного файла, с расширением js. Пример: <SCRIPT LANGUAGE="JavaScript1.2" SRC="programma.js">

</SCRIPT>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]