Средства разработки web-страниц
Федеральное
агентство по образованию
Государственное
образовательное учреждение
среднего
профессионального образования
Хакасский
политехнический колледж
Внеаудиторная
работа
по
дисциплине: «Распределённые системы обработки информации»
Выполнил: студент гр. АИС-41
Урванцев А.В.
Абакан, 2009
Понятие Java-апплета. Средства создания Java-апплетов
Апплет объединяет в себе элементы сложного графического окна с легкостью
использования и возможностями работы с сетями. В сущности, он является
миниатюрным графическим интерфейсом пользователя, подобно Microsoft Windows или
X11, который, как гарантируют разработчики, будет иметь в основном одни и те же
функциональные возможности независимо от типа компьютера, им управляющего.
Апплеты очень полезны для написания прикладных программ для Интернет,
потому что они могут быть вложены в HTML-документы и выполняться в броузерах
Web, допускающих использование языка Java, - например, Netscape Navigator 2.0.
Чтобы создать свои собственные апплеты, нужно расширить класс Applet и
сослаться на новый класс на Web-странице. Давайте рассмотрим апплет "Hello
World", подобный апплету, "Основы программирования на Java".
Пример.
Апплет "Hello World".
java.applet.*;java.awt.*;class HelloWorldApplet extends
Applet {void init() {(250,250);
}void paint(Graphics g) {.drawString("Hello
world!",25,25);
}
}
Апплет "Hello World" расширяет класс Applet, а это означает,
что все методы и переменные, доступные классу Applet, доступны и нашему
расширению этого класса. К примеру, взяв два из этих методов - init и paint, -
мы можем изменить их заданное по умолчанию поведение так, чтобы они делали то,
что нам нужно. Рассмотрим HTML-код для Web-страницы, которая содержит апплет
"Hello World".
Пример. Web-страница "Hello World".
<HTML>
<HEAD>
<TITLE>Hello World Applet</TITLE>
</HEAD>
<BODY>
<APPLET CODE="HelloWorldApplet.class"=250
HEIGHT=250>
</APPLET>
</BODY>
</HTML>
Стадии выполнения апплета
Когда Java-совместимый броузер Web загружает класс Applet, сначала он
распределяет память для апплета и глобальных переменных. Затем выполняется
метод init. (Вообще, программисты используют метод init, чтобы инициализировать
глобальные переменные, получить ресурсы из сети и установить интерфейс
пользователя.) После этого броузер вызывает метод start. Если часть броузера,
содержащего апплет, видима (что обычно и случается, когда апплет только
начинает свою работу), вызывается метод paint. Если пользователь уходит со
страницы, содержащей апплет, броузер вызывает метод stop. Когда пользователь
возвращается на страницу с апплетом, метод start, так же как и метод paint,
вызывается снова. Следующий фрагмент кода иллюстрирует работу апплета в случае,
если пользователь покидает страницу и затем возвращается на нее.
Пример. Апплет, считающий обращения к странице.
import java.applet.*;java.awt.*;
public class Count extends Applet
{InitCount=0;StartCount=0;StopCount=0;PaintCount=0;void init() {(250,75);=
InitCount + 1;}void start() {= StartCount + 1;}void stop() {= StopCount +
1;}void paint(Graphics g) {++;Output = new String(
"Inits: "+InitCount+
" Starts: "+StartCount+
" Stops: "+StopCount+
" Paints: "+PaintCount);.drawString(Output,25,25); } }
Одна из причин популярности World Wide Web - легкость, с которой авторы
могут добавлять к своим Web-страницам изображения и звук, просто включая в код
страницы указатели на местоположение графических и звуковых файлов, которые они
хотят использовать. Использование языка Java дает еще более простой и намного
более мощный способ. HTML - язык описания документа; Java - добротный язык
программирования. Ваши Java-апплеты могли бы использовать изображения как
графические пиктограммы или спрайты в игре аркадного стиля. Следующий
Java-апплет принимает из сети файл с изображением и звуком и отображает их.
Пример. Апплет для Web.
java.applet.*;
import java.awt.*;java.net.*;
public class WebApplet extends Applet {Image
myImage;AudioClip mySound;URL ImageURL;URL SoundURL;void init() {(250,250);{
// привязываем URL к ресурсам= new
("#"578080.files/image001.gif">
web страница редактор документ
Краткий обзор WYSIWYG средств
разработки web-страниц
Редакторы типа WYSIWYG характеризуются тем, что позволяют пользователю
создавать оформление страницы, после чего программа автоматически пишет код к
этой странице, вот несколько примеров подобных программ.
Microsoft FrontPage
Microsoft FrontPage, входящий в пакет Microsoft Office, является классическим
WYSIWYG-редактором, в котором, однако, присутствует возможность ручной правки
кода.
Интерфейс программы во многом напоминает таковой и Microsoft Word, что
нисколько не удивляет - унификация внешнего вида поможет новичкам быстрее
освоить основные возможности FrontPage.
В программе имеется три режима работы с документом: Normal, HTML и
Preview. В режиме Normal веб-страница представляет собой обычный текстовый файл
с возможностью редактирования всех элементов - от текста до картинок.
Macromedia Dreamweaver MX 2004
Macromedia Dreamweaver MX 2004 позволяет ожидать многого от этой
HTML-редактора. И действительно, возможности Macromedia Dreamweaver MX 2004
впечатляют. После установки пользователя просят выбрать внешний вид программы,
который отличается в зависимости от подхода к созданию веб-документов. При
выборе "Code" интерфейс программы будет подстроен под нужды
кодировщика, а при выборе "Design" - соответственно, дизайнера. Впрочем,
всегда имеется возможность для переключения между этими двумя режимами, а также
доступен третий, комбинированный режим - рабочая область программы делится на
две части.
HomeSite
Macromedia HomeSite, пожалуй, является одним из самых распространенных
средств редактирования HTML-документов среди пользователей, предпочитающих
кодировать страницы вручную. Вместе с тем, HomeSite позволяет значительно
ускорить сам процесс создания и облегчить работу разработчика.
Технология COM. Возможности
технологии
(англ. Component Object Model - Объектная Модель Компонентов;
произносится как [ком]) - это технологический стандарт от компании Microsoft,
предназначенный для создания программного обеспечения на основе взаимодействующих
распределённых компонентов, каждый из которых может использоваться во многих
программах одновременно. Технология воплощает в себе идеи полиморфизма и
инкапсуляции объектно-ориентированного программирования. Технология COM в
принципе является универсальной и платформо-независимой, но закрепилась в
основном на операционных системах семейства Windows. В современных версиях
Windows COM используется очень широко. На основе COM также было создано
множество других стандартов: OLE Automation, ActiveX, DCOM, COM+.
Основным понятием, которым оперирует технология COM, является COM-компонент. Программы, построенные на технологии COM, фактически не являются автономными программами, а
представляют собой набор взаимодействующих между собой COM-компонентов. Каждый компонент имеет уникальный
идентификатор (GUID) и может
одновременно использоваться многими программами. Компонент взаимодействует с
другими программами через COM-интерфейсы
- наборы абстрактных функций и свойств. Каждый COM-компонент должен, как минимум, поддерживать
стандартный интерфейс «IUnknown», который предоставляет базовые средства для работы с компонентом.
Windows API предоставляет
базовые функции, позволяющие использовать COM-компоненты. Библиотеки MFC и, особенно, ATL/WTL
предоставляют гораздо более гибкие и удобные средства для работы с COM. Библиотека ATL от Майкрософт до сих пор остаётся самым популярным
средством создания COM-компонентов.
Но, зачастую, COM-разработка остаётся ещё довольно
сложным делом, программистам приходится вручную выполнять многие рутинные
задачи, связанные с COM (особенно это
заметно в случае разработки на C++).
Впоследствии (в технологиях COM+ и
особенно.NET) Майкрософт попыталась упростить
задачу разработки COM-компонентов.
В составе Windows 2000 была
выпущена технология COM+, которая
расширяла возможности разработчиков COM-компонентов, предоставляя им некоторые готовые услуги, например:
улучшенную поддержку потоков;
доступ к контексту, в котором выполняется компонент (например,
компоненты, используемые в ASP,
могут с этой возможностью получить доступ к внутренним объектам той страницы,
на которой они выполняются).
COM+
объединяет компоненты в так называемые приложения COM+, что упрощает администрирование и обслуживание
компонентов. Безопасность и производительность - основные направления
усовершенствований COM+. Некоторые
идеи, заложенные в основу COM+,
были также реализованы в Microsoft.NET.
В 2002 году была официально выпущена платформа Microsoft.NET, которая на сегодняшний день объявлена Майкрософт
рекомендуемой основой для создания приложений и компонентов под Windows. По этой причине в.NET включены и средства, позволяющие
обращаться к компонентам COM из
приложений.NET, и наоборот. По словам
представителей Майкрософт, COM
(точнее, COM+) и.NET являются отлично взаимодополняющими технологиями.
Технология CORBA. Возможности
технологии
- наиболее развитая на сегодняшний день объектная технология
распределенного программирования (#"578080.files/image005.gif">
Dynamic
Invocation Interface (DII): позволяет клиенту находить сервера и вызывать их
методы во время работы системы. IDL Stubs: определяет, каким образом клиент
производит вызов сервера. ORB Interface: общие как для клиента, так и для
сервера сервисы. IDL Skeleton: обеспечивает статические интерфейсы для объектов
определенного типа. Dynamic Skeleton Inerface: общие интерфейсы для объектов,
независимо от их типа, которые не были определены в IDL Skeleton. Object Adapter:
осуществляет коммуникационное взаимодействие между объектом и ORB.
К основным достоинствам CORBA можно отнести межязыковую и
межплатформенную поддержку. Хотя CORBA-сервисы и отнесены к достоинствам
технологии CORBA, их в равной степени можно одновременно отнести и к
недостаткам CORBA, ввиду практически полного отсутствия их реализации.
Практически, для создания распределенных компонентов при программировании
в CORBA выполняются обычно как минимум
следующие шаги:
· Проектируются распределенные компоненты;
· Описываются интерфейсы открытых объектов этих компонентов на
языке IDL;
· Создаются реализации компонентов (объекты и их клиенты);
· Распределяются компоненты по нужным точкам в Сети.
Описание возможного содержания XML документа с помощью схем DTD
XML
Schema призвана обеспечить богатую грамматическую структуру для XML-документов
и преодолеть ограничения, присущие DTD. XML Schema выразительнее DTD. Первые
три листинга производят краткое сравнение различных путей представления
элементов. Листинг 1 <#"578080.files/image006.gif">
Не поддерживаемая функциональность:
В качестве простых запросов (query) могут выступать
любые SQL-инструкции. Шаблоны могут быть использованы для изменения данных,
хотя это и не лучшее решение. Другие методы изменения данных рассматриваются в
разделе Апдейтаграммы и XML Bulk Load.
Использование запросов XPath
XML-документы представляют собой иерархию, или дерево
узлов, в чем-то схожее с иерархией каталогов и файлов в файловой системе. Этом
и объясняется сходство синтаксиса URL и XPath. В следующей таблице приведено
сравнение некоторых свойств.
Таблица 3.
Файловая система (URL)
|
XPath
|
Иерархия каталогов и файлов.
|
Иерархия элементов и других узлов XML-документа.
|
Файлы на каждом из уровней имеют уникальные имена. URL всегда идентифицирует один файл.
|
Имена элементов на каждом уровне могут быть неуникальны.
Шаблоны XPath соответствуют набору всех
соответствующих элементов.
|
Путь вычисляется относительно конкретного каталога,
именуемого текущим каталогом.
|
Путь вычисляется относительно конкретного узла, в запросе
именуемого контекстом.
|
В следующем фрагменте XML-документа представлена простая иерархия, которая
будет использоваться для демонстрации некоторых основных возможностей XPath-запросов.
<authors>
<author>
<name>Victor Hugo</name>
<nationality>French</nationality>
</author>
<author
period="classical">
<name>Sophocles</name>
<nationality>Greek</nationality>
</author>
<author>
<name>Leo Tolstoy</name>
<nationality>Russian</nationality>
</author>
<author>
<name>Alexander
Pushkin</name>
<nationality>Russian</nationality>
</author>
<author
period="classical">
<name>Plato</name>
<nationality>Greek</nationality>
</author>
</authors>
При исполнении XPath-запроса всегда имеется так называемый контекст
исполнения, то есть текущая ветка, относительно которой производится поиск. Это
сходно с активным каталогом при выполнении команды CD файловой системы. Как контекст XPath-запроса может использоваться любой узел XML-документа. В XSLT контекстом для запроса является
узел, в данный момент обрабатываемый элементами <xsl:template> или <xsl:for-each>. При использовании XPath непосредственно из DOM вы определяете контекст, выполняя запрос из
конкретного узла. Приведенные ниже примеры используют контекст корневого
элемента XML-документа.
Основным понятием XPath является путь в XML-иерархии. Если выполнить приведенный ниже запрос,
начиная с корневого элемента приведенного выше примера, этот запрос проходит по
иерархии вплоть до элемента <name>.
authors/author/name
Запрос XPath
распознает все элементы, соответствующие пути. Поскольку XSLT позволяет выделять определенные узлы
дерева, его можно использовать в качестве простого поискового механизма.
Кроме описания пути, XPath может включать wildcards (групповые символы). Элемент с любым
именем обозначается символом "*".
authors/*/name
Предыдущий запрос соответствует всем элементам name, но не требует, чтобы они находились
в элементе <author>. Вот
еще один пример, находящий элементы <name> и <nationality>.
authors/author/*
Ветвления пути могут быть описаны с помощью квадратных
скобок. Следующий запрос ищет ветку элемента <author>, и означает, что рассматриваться должны только
элементы <author> с дочерним nationality.
authors/author[nationality]/name
В запросе можно использовать операторы сравнения.
Следующий запрос возвращает имена русских авторов. Заметьте, что сравнения
можно использовать только в квадратных скобках.
authors/author[nationality='Russian']/name
XML-атрибуты в запросе обозначаются символом
"@" перед именем атрибута. Атрибут может проверяться как ветка
основного пути, но запрос может и целенаправленно искать узлы атрибутов.
Следующий пример возвращает авторов классического периода.
authors/author[@period="classical"]
Таблица 4.Операторы и специальные символы Xpath
Оператор
|
Описание
|
/
|
Выбирает дочерние элементы коллекции, находящейся слева от
него. При использовании в начале шаблона означает поиск от корневого
элемента.
|
//
|
Рекурсивный спуск; ищет указанный элемент на любой глубине.
При использовании в начале шаблона означает рекурсивный поиск от корневого
элемента.
|
.
|
Текущий контекст.
|
*
|
Wildcard, выбирает все элементы, независимо
от имени.
|
@
|
Атрибут; префикс имени атрибута. При использовании без
имени атрибута выбирает все атрибуты, независимо от их имени.
|
:
|
Сепаратор пространств имен. Отделяет префикс пространства
имен от имени элемента или атрибута.
|
Группирует операции для явного задания очередности.
|
[ ]
|
Накладывает фильтр. 2. Используется для индексации
коллекции
|
+
|
Сложение.
|
-
|
Вычитание.
|
div
|
Деление с плавающей точкой (согласно IEEE 754).
|
*
|
Умножение.
|
mod
|
Возвращает остаток при делении с остатком.
|