Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПО Комп сетей.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
424.45 Кб
Скачать

Тема 4.3 Применение инструментальных средств создания клиентской части

 

Студент должен

 

знать:

  • назначение и возможности ИС;

  • синтаксис языка ИС;

  • операторы языка ИС;

  • функции языка ИС;

  • объектную модель браузера;

  • методы ИС;

 

уметь:

  • создавать сценарии;

  • работать с объектом;

  • работать с браузером;

  • создавать динамические Web-страницы.

 ПЛАН:

  1. Основы языка программирования.

  2. Синтаксис языка. Операторы. Функции.

  3. Методы и события. Динамические Web-страницы.

Текст на интерпретируемых языках, которые поддерживаются такими web-технологиями как ASP или PHP представляют собой часть текста обычных HTML-страниц со встроенными в них сценариями (Script). Эти сценарии можно писать на любом языке, поддерживаемом сервером; интернет-сервер обрабатывает их при поступлении запроса о URL адресе соответствующего файла. Он разбирает текст HTML-страниц, находит в нем тексты сценариев, вырезает их и интерпретирует в соответствии с синтаксисом и семантикой данного языка. В результате интерпретации получается выходной текст на языке HTML, который сервер вставляет непосредственно в то место исходной страницы, где встретился сценарий. Так обрабатывается web-страница на любом интерпретируемом языке, ориентированном на работу в глобальной сети.

Естественно для работы со страницей сервер должен иметь в своем составе интерпретатор соответствующего языка.

Все эти языки сценариев обладают присущими им характерными особенностями:

  1. они имеют мощные встроенные функции и средства для работы со странами, поскольку основной задачей программ, написанных с помощью таких языков, является обработка входных параметров (строковых) и порождение HTML-кода;

  2. все они имеют средства для работы в архитектуре «клиент-сервер» для обмена информацией с серверами БД, а многие современные версии таких языков – средства для функционирования в 3-х уровневой архитектуре для обмена данными с серверами приложений.

Недостаток всех перечисленных методов заключается в том, что сначала сервер вынужден строить HTML-описание, собирая его некоторым образом из каких-то своих данных, а затем клиент на своей стороне интерпретирует полученное описание HTML-страницы, т. о. выполняется двойная работа по генерации и интерпретации текстов на HTML. Кроме того, между клиентом и сервером по сети передаются громоздкие описания HTML-страниц, что повышает график сети.

Данные методы распространены в глобальной сети, поскольку они очень просты, а кроме того, от клиентского компьютера ничего не требуют, кроме способности интерпретировать тексты HTML. Эта особенность довольно существенна.

Технология Java.

Разработана в 1995 году программистами фирмы Sun Mycrosystem, продолжает быстро развиваться как программные средства для создания приложений Интернета, она включает в себя язык программирования и платформу.

Язык Java Sun характеризует как простой 00 распределенный, интерпретируемый, падежный, архитектурно-независимый, переносимый, многопоточный, динамический язык программирования высокого уровня.

Программа по Tara транслируется компьютером в специальный байт-код, называемый также J-кодом, для выполнения которого требуется интерпретатор Java, (JVM – ява виртуальная машина). Интерпретатор Java – это приложение, предназначенное для конкретной аппаратно-программной платформы, J-код не зависит от платформы, он представляет собой набор машинных команд для некоторой виртуальной машины, реализуемой интерпретатором. Он может выполняться в любой среде, в которой выполняется JVM.

Основными единицами, из которых строится программа Java, являются классами. Классы обрабатывают иерархическую древовидную структуру, лежащую в основе объектно – ориентированной модели языка.

Класс представляет собой совокупность данных и методов для их обработки.

Слово «метод» в ООП является синонимом процедуры, функции.

На базе уже существующего класса может быть определен новый класс, являющийся подклассом своего предшественника. Исходный класс является подклассом для своего подкласса или родительским классом.

Подкласс наследует у родительского класса коллекцию данных и методов, кроме них он может содержать собственные методы и данные.

Класс определяет целый тип данных. Конкретный экземпляр этого класса называется объектом.

Написание Java программы заключается в создании нового класса или совокупности связанных между собой классов. Исходный текст на языке Java сохраняется в файле с именем главного класса и расширением Java. Этот файл компилируется в J-код и сохраняется в файле с тем же именем и расширением class. Скомпилированные классы Java в виде J-кода могут храниться локально на компьютере или распределено в сети и динамически загружаться выполняющимися приложениями по мере необходимости.

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

Приложения и апплеты.

В среде Java существуют 2 основных типа программ: приложения и апплеты.

Приложение – это самостоятельная программа, для выполнения которой требуется наличие JVM.

Апплет – это программа, предназначенная для выполнения в составе web-браузера, или специальная программа в составе апплета.

Схема применения апплетов выглядит следующим образом

Апплет создается, компилируется и сохраняется на web-сервере. В HTML документ, выставляемый на сервере при помощи специального тега помещается ссылка на место положения апплета, при получении документа с сервера браузер загружает апплет и начинает его выполнять, такой подход к созданию динамических документов прямо противоположный подход, который используется в программе интерфейсов CGI: апплет выполняется на стороне клиента, а CGI сценарий на стороне сервера.

Слово апплет (уменьшительно от слова application – приложение) – «приложеньице» или «программка», т. е. небольшая по размеру программа, выполняющая простые действия. Большие апплеты увеличивают нагрузку на сеть и требуют заметного времени для передачи браузеров. В результате чего утрачивается то, ради чего они предназначены, – динамичное соответствие скорости реакции пользователя изменения отображаемого документа.

Апплет:

Hello Word.java

import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet { public void paint(Graphics g) { g.drawString("Hello World!", 20, 20); } }

* <applet code="HelloWorld" width=200 height=100> * </applet>

Описание функций в Java Script

Программа на Java Script может помещаться непосредственно между тегами <script> открывающий и закрывающий, в этом случае она будет выполнена после того как браузер отобразит содержимое документа предшествующие тегу <script> и до того как браузер отобразит содержимое документа следующие за тегом </script>.

Однако чаще всего программы на Java Script оформляют в виде отдельных функций, которые запускаются в ответ на определенные события (щелчок мышью, перемещение над гиперссылкой и т.д.)

Функции оформляются следующим образом:

Function имя функции ( ) {

команды

Return – возвращаемое значение

}

Динамический html включает:

HTML

CSS – каскадная таблица стилей

JAVA SCRIPT

DOM

<html>

<head><title> . . . </title>

<script language = < ‘Java Script’ >

Function Proverka (){

</script>

</head>

<body>

<inpute type = button ‘OnClick’=Proverka ()>

</body>

</html>

Пример программы с параметром:

<html>

<head><title> . . . </title>

<script language = < ‘Java Script’ >

Function Greet (Who){

Alert (‘Приветик’ +Who);}

</head>

<body>

<script language = < ‘Java Script’ >

Alert (‘Ваня’); Greet (‘Сережа’);

</script>

</body>

</html>

Обработка событий в Java Script

Каждый объект html – страницы кнопка, гиперссылка, сама страница и др. имеют свой набор событий.

Обработка событий (щелчки мышью, наведение на гиперссылку, и т.д.) реализуется в Java Script в виде отдельной функции, либо непосредственно в теге элемента, можно также динамически изменять события назначенные элементу.

Примеры задания обработчика событий:

  1. Обработчик событий в теге элемента:

<body>

<a href = ‘http://www. microsoft.com’ on mouse over = ‘alert’ (‘Без стука не входить!’);> гиперссылка </a>

</body>

  1. Обработчик событий в виде отдельных функций:

<html>

<head

<script language = < ‘Java Script’ >

Function info (){alert (‘Без стука не входить!’);}

</script></head>

<body>

<a href = ‘http://www. microsoft.com’ on mouse over = ‘info ()’; >

гиперссылка </a>

</body>

</html>

  1. Динамическое назначение обработчика событий:

<html>

<head

<script language = < ‘Java Script’ >

Function info (){alert (‘Без стука не входить!’);}

</script></head>

<body>

<a href = ‘http://www. microsoft.com’ name= ‘link 1’; >

гиперссылка </a>

<script language = < ‘Java Script’ >link 1.on mouse over = ‘info ()’;

</script>

</body>

</html>

Типы данных, глобальные и локальные переменные в Java Script.

В некоторых языках программирования необходимо объявление переменных указывать их тип данных в Java Script, данные переменной не указываются, если переменной содержащей целое число присвоить строковое значение то ошибки не произойдет т.к. переменная имеет «любой» тип данных который, может включать в себя: числовой тип, булевский тип, строковый, нулевой.

В Java Script переменные можно использовать без предварительного описания, если переменная все же описывается, то это делается следующим образом:

  1. Переменная = значение;

  2. Var переменная = значение;

Пример:

  1. Bird = ‘Альбатрос’

  2. Var bird = ‘Альбатрос’

Ключевое слово var дает указания Java Script создать локальную переменную даже если уже существует глобальная переменная с таким же именем, хотя это и не обязательно для избежание ошибок всегда используется var при объявление локальных переменных.

Все переменные в Java Script делятся на локальные и глобальные.

Локальные переменные видны только в рамках одной функции и существуют, только пока выполняется функция.

Глобальные переменные описанные в рамках кого либо тега <script> </script> видны для всех функций из любых тегов <script> </script> на данной странице.

Преобразование типов данных

Java Script во всех возможных случаях самостоятельно производит преобразование одних данных в другие.

Пусть в программе используются оператор document.write (‘общая сумма: ‘+summe);

Если summe =40 то на экране будет выведено общая сумма: 40. Любые не текстовые значения преобразуются в текстовые и только после этого результат выводится на экран.

В некоторых ситуациях строковый тип данных необходимо преобразовать в числовой, для этих целей в Java Script используются две функции: parseInt () – преобразует текстовый тип данных в целочисленный

parseFloat () – преобразует текстовый тип данных в числовой с плавающей точкой.

Пример:

Stroca = ‘2000 ершиков’

Chislo = parseInt (stroca);

Chislo = 2000

Т.е. нечисловая часть предложения игнорируется и обрабатывается.

Функции преобразования типов данных ищут только первое число в строке текста, если число не найдено, возвращает строковое значение NaN указывая на то, что текст не содержит числовое значение.

Массивы в Java Script.

Массивы необходимо объявлять перед использованием.

Пример: массив состоит из 30 элементов.

Mas = new Array(30);

Индексация в массиве начинается с нуля.

Mas[0]=39;

Mas[1]=40;

Mas[2]=100;

Подобно строковым переменным массивы имеют свойство Length – оно определяет количество элементов, из которых состоит массив:

Dlina=mas.length;

Любой массив имеет метод sort() используемый для сортировки элементов массива. Он возвращает упорядоченную копию исходного массива. Упорядочивание производится как по алфавиту – для строковых значений, так и по возрастанию и убыванию – для числовых значений.

Для массивов и объектов существует специальный цикл for …in который последовательно перебирает каждый элемент массива в скобках.

Пример 1. (массив)

For ( i in mas ) {document. writeln (mas [i]);}

Пример 2. (объект)

For ( i in navigator ) {document. write (‘Значение’+ navigator [i])}